Что это такое
Rustlings — учебный набор коротких упражнений по Rust. Его обычно проходят параллельно с официальной книгой Rust: теория объясняет язык, а Rustlings заставляет руками исправлять маленькие программы.
Проект полезен потому, что Rust сложно выучить только чтением. Владение, заимствования, типы, pattern matching и обработка ошибок нужно почувствовать через компилятор и конкретные сообщения об ошибках.
Как устроены упражнения
Упражнения намеренно маленькие. В файле есть почти готовый код, который не компилируется или ведет себя не так, как нужно. Задача ученика — понять подсказку компилятора и внести минимальную правку.
Такой формат снимает страх перед ошибками. В Rust ошибки компиляции являются частью обучения: они объясняют, где нарушена модель владения, где тип не совпал или где нужно явно обработать результат.
Запуск упражнений
Пример показывает обычный цикл: установить Rustlings, запустить проверку и двигаться по заданиям, пока компилятор не перестанет ругаться.
cargo install rustlings
rustlings init
cd rustlings
rustlings
Что внутри
Внутри есть упражнения по переменным, функциям, условиям, структурам, перечислениям, модулям, коллекциям, обработке ошибок, итераторам и другим базовым частям языка.
Rustlings не пытается заменить большой учебник. Он работает как тренажер между чтением и самостоятельным проектом: маленькие задачи помогают закрепить конкретную идею.
Сильные стороны
Сильная сторона — короткая обратная связь. Ученик сразу видит ошибку, правит код и запускает проверку снова. Это хорошо подходит языку, где компилятор является важным наставником.
Вторая сильная сторона — официальная близость к экосистеме Rust. Проект находится в организации rust-lang и хорошо сочетается с официальными материалами.
Ограничения
Rustlings не научит проектировать большие приложения. После упражнений все равно нужно писать собственный код: CLI, веб-сервис, парсер или библиотеку.
Также важно не превращать прохождение в механическое исправление подсказок. Главная цель — понять, почему компилятор требовал именно такую правку.