1. Введение
  2. 1. Привет, мир!
    1. 1.1. Комментарии
    2. 1.2. Форматированный вывод
      1. 1.2.1. Debug
      2. 1.2.2. Display
        1. 1.2.2.1. Пример: Список
      3. 1.2.3. Форматирование
  3. 2. Примитивы
    1. 2.1. Литералы и операторы
    2. 2.2. Кортежи
    3. 2.3. Массивы и срезы
  4. 3. Пользовательские типы
    1. 3.1. Структуры
    2. 3.2. Перечисления
      1. 3.2.1. Декларация use
      2. 3.2.2. C-подобные перечисления
      3. 3.2.3. Пример: Связанный список
    3. 3.3. Константы
  5. 4. Связывание переменных
    1. 4.1. Изменяемость
    2. 4.2. Область видимости и затенение
    3. 4.3. Предварительное объявление
    4. 4.4. Заморозка
  6. 5. Типы
    1. 5.1. Приведение типов
    2. 5.2. Литералы
    3. 5.3. Вывод типов
    4. 5.4. Псевдонимы
  7. 6. Преобразования
    1. 6.1.
    2. 6.2.
    3. 6.3.
  8. 7. Выражения
  9. 8. Управление потоком
    1. 8.1. if/else
    2. 8.2. loop
      1. 8.2.1. Вложенность и метки
      2. 8.2.2. Возврат из циклов
    3. 8.3. while
    4. 8.4. for и range
    5. 8.5. match
      1. 8.5.1. Деструктуризация
        1. 8.5.1.1. Кортежи
        2. 8.5.1.2. Перечисления
        3. 8.5.1.3. Указатели и ссылки
        4. 8.5.1.4. Структуры
      2. 8.5.2. Ограничители шаблонов
      3. 8.5.3. Связывание
    6. 8.6. if let
    7. 8.7. while let
  10. 9. Функции
    1. 9.1. Методы
    2. 9.2. Замыкания
      1. 9.2.1. Захват
      2. 9.2.2. Как входные параметры
      3. 9.2.3. Анонимность типов
      4. 9.2.4. Входные функции
      5. 9.2.5. Как выходные параметры
      6. 9.2.6.
        1. 9.2.6.1. Iterator::any
        2. 9.2.6.2. Поиск через итераторы
    3. 9.3. Функции высшего порядка
    4. 9.4. Расходящиеся функции
  11. 10. Модули
    1. 10.1. Видимость
    2. 10.2. Видимость структуры
    3. 10.3.
    4. 10.4.
    5. 10.5. Иерархия файлов
  12. 11. Контейнеры
    1. 11.1. Библиотеки
    2. 11.2. extern crate
  13. 12. Cargo
    1. 12.1. Зависимости
    2. 12.2. Соглашения
    3. 12.3. Тестирование
    4. 12.4. Скрипты сборки
  14. 13. Атрибуты
    1. 13.1. dead_code
    2. 13.2. Контейнеры
    3. 13.3. cfg
      1. 13.3.1. Собственные условия
  15. 14. Обобщения
    1. 14.1. Функции
    2. 14.2. Реализация
    3. 14.3. Типажи (трейты)
    4. 14.4. Ограничения
      1. 14.4.1. Пример: пустые ограничения
    5. 14.5. Множественные ограничения
    6. 14.6. Утверждения where
    7. 14.7. New Type идиома
    8. 14.8. Ассоциированные элементы
      1. 14.8.1. Проблема
      2. 14.8.2. Ассоциированные типы
    9. 14.9. PhantomData-параметры
      1. 14.9.1. Пример: unit clarification
  16. 15. Правила области видимости
    1. 15.1. RAII
    2. 15.2. Владение и перемещение
      1. 15.2.1. Изменяемость
    3. 15.3. Заимствование
      1. 15.3.1. Mutability
      2. 15.3.2. Алиасинг
      3. 15.3.3. ref паттерн
    4. 15.4. Времена жизни
      1. 15.4.1. Явное аннотирование
      2. 15.4.2. Функции
      3. 15.4.3. Методы
      4. 15.4.4. Структуры
      5. 15.4.5. Типажи
      6. 15.4.6. Ограничения
      7. 15.4.7. Приведение (coercion)
      8. 15.4.8. Static
      9. 15.4.9. Сокрытие
  17. 16. Типажи
    1. 16.1. Атрибут Derive
    2. 16.2.
    3. 16.3. Перегрузка операторов
    4. 16.4. Типаж Drop
    5. 16.5. Итераторы
    6. 16.6. impl Trait
    7. 16.7. Типаж Clone
    8. 16.8. Супертрейты
    9. 16.9. Устранение неоднозначности в перекрывающихся трейтах
  18. 17. macro_rules!
    1. 17.1. Синтаксис
      1. 17.1.1. Указатели
      2. 17.1.2. Перегрузка
      3. 17.1.3. Повторение
    2. 17.2. DRY (Не повторяйся)
    3. 17.3. DSL (Domain Specific Languages)
    4. 17.4. Variadics
  19. 18. Обработка ошибок
    1. 18.1. panic
    2. 18.2.
      1. 18.2.1.
      2. 18.2.2.
      3. 18.2.3.
    3. 18.3. Result
      1. 18.3.1.
      2. 18.3.2.
      3. 18.3.3. Преждевременный выход
      4. 18.3.4.
    4. 18.4. Несколько типов ошибок
      1. 18.4.1.
      2. 18.4.2. Объявление типа ошибки
      3. 18.4.3.
      4. 18.4.4.
      5. 18.4.5. Оборачивание ошибок
    5. 18.5.
  20. 19. Типы стандартной библиотеки
    1. 19.1. Box, стек и куча
    2. 19.2. Вектора
    3. 19.3. Strings
    4. 19.4. Option
    5. 19.5. Result
      1. 19.5.1. ?
    6. 19.6. panic!
    7. 19.7. HashMap
      1. 19.7.1. Альтернативные (пользовательские) типы ключей
      2. 19.7.2. HashSet
    8. 19.8. Rc
  21. 20. Разное в стандартной библиотеке
    1. 20.1. Потоки
      1. 20.1.1. Пример: map-reduce
    2. 20.2. Каналы
    3. 20.3. Path
    4. 20.4. Файловый ввод-вывод
      1. 20.4.1. open
      2. 20.4.2. create
      3. 20.4.3. read lines
    5. 20.5. Дочерние процессы
      1. 20.5.1. Pipes
      2. 20.5.2. Ожидание
    6. 20.6. Работа с файловой системой
    7. 20.7. Аргументы программы
      1. 20.7.1. Парсинг аргументов
    8. 20.8. Foreign Function Interface
  22. 21. Тестирование
    1. 21.1. Unit-тестирование
    2. 21.2. Тестирование документации
    3. 21.3. Интеграционное тестирование
    4. 21.4. dev-dependencies
  23. 22. Unsafe операции
  24. 23. Совместимость
    1. 23.1. Сырые идентификаторы
  25. 24. Meta
    1. 24.1. Документация
    2. 24.2. Playpen

Rust By Example

Playpen