Пробельные символы
Lexer
WHITESPACE →
U+0009 // Горизонтальная табуляция, '\t'
| U+000A // Перевод строки (Line feed), '\n'
| U+000B // Вертикальная табуляция
| U+000C // Прогон страницы (Form feed)
| U+000D // Возврат каретки (Carriage return), '\r'
| U+0020 // Пробел, ' '
| U+0085 // Следующая строка (Next line)
| U+200E // Слева направо (Left-to-right mark)
| U+200F // Справа налево (Right-to-left mark)
| U+2028 // Разделитель строк (Line separator)
| U+2029 // Разделитель абзацев (Paragraph separator)
TAB → U+0009 // Горизонтальная табуляция, '\t'
LF → U+000A // Перевод строки (Line feed), '\n'
CR → U+000D // Возврат каретки (Carriage return), '\r'
Пробельный символ — это любая непустая строка, содержащая только символы, которые имеют свойство Юникода Pattern_White_Space.
Rust — это “свободноформатный” язык, что означает, что все формы пробельных символов служат только для разделения токенов в грамматике и не имеют семантического значения.
Программа на Rust имеет идентичное значение, если каждый пробельный элемент заменён на любой другой допустимый пробельный элемент, такой как одиночный символ пробела.