kb · rust reference
Один HTML на фичу: что это, зачем ввели, как работает под капотом, пример, грабли, куда смотреть дальше. Фичи, отмеченные меткой "собеседование", — самые частые темы на технических интервью.One HTML page per feature: what it is, why it was introduced, how it works under the hood, an example, gotchas, where to look next. Features tagged "interview" are the most common technical-interview topics.
В отличие от C++, у Rust нет пронумерованных стандартов — деление здесь по темам: язык, стандартная библиотека, экосистема сторонних крейтов. Editions (2015/2018/2021/2024) меняют только синтаксис/keywords и упоминаются внутри фич, которых это касается, а не как отдельные разделы.Unlike C++, Rust has no numbered standards — the split here is by topic: the language, the standard library, the ecosystem of third-party crates. Editions (2015/2018/2021/2024) only change syntax/keywords and are mentioned inside the features they affect, not treated as separate sections.
Ownership/borrowing/lifetimes, traits и generics, pattern matching, error handling, async/await, unsafe, макросы — ядро того, что делает Rust Rust'ом.Ownership/borrowing/lifetimes, traits and generics, pattern matching, error handling, async/await, unsafe, macros — the core of what makes Rust Rust.
Vec, HashMap/BTreeMap, String/&str, Option/Result как API, конкурентность, ввод-вывод — аналог C++ STL. Каркас готов, страницы фич ещё не написаны.Vec, HashMap/BTreeMap, String/&str, Option/Result as an API, concurrency, I/O — the analogue of the C++ STL. Skeleton ready, feature pages not yet written.
tokio/rayon/crossbeam, сеть (reqwest/axum/WebSocket/SSH), сериализация (serde+форматы+rkyv), базы данных, тестирование (+loom), бенчмарки, gRPC, CLI/конфиги, логирование/трассировка, FFI, аллокаторы, сжатие. Каркас готов, страницы фич ещё не написаны.tokio/rayon/crossbeam, networking (reqwest/axum/WebSocket/SSH), serialization (serde+formats+rkyv), databases, testing (+loom), benchmarking, gRPC, CLI/config, logging/tracing, FFI, allocators, compression. Skeleton ready, feature pages not yet written.
Базовые концепции ООП, спроецированные на struct/trait/enum вместо class/extends (перегрузка, свойства, наследование, события опущены — их нет в языке), плюс специфика Rust: dyn Trait, newtype, derive-макросы, orphan rule. Каркас готов, страницы ещё не написаны.The baseline OOP concepts mapped onto struct/trait/enum instead of class/extends (overloading, properties, inheritance, and events are omitted — the language has none of them), plus what's Rust-specific: dyn Trait, newtype, derive macros, the orphan rule. Skeleton ready, pages not yet written.
Заимствование/время жизни, конкурентность (Send/Sync), устройство Vec/String/HashMap, задачи «почему это не компилируется».Borrowing/lifetimes, concurrency (Send/Sync), Vec/String/HashMap internals, "why doesn't this compile" exercises.
формат страницы фичиthe feature-page format
Что / зачем / как под капотом / пример / грабли / связанные темы / внешние ссылки — тот же скелет, что и в базе по C++ (../cpp/stl/), чтобы можно было листать не задумываясь о структуре, только о содержании.What / why / how under the hood / example / gotchas / related topics / external links — the same skeleton as the C++ knowledge base (../cpp/stl/), so pages can be flipped through without thinking about structure, only content.