Rust

Rust from absolute zero to advanced: what a compiler does, values and types and how they sit in memory, then the ideas that make Rust different (ownership, borrowing, lifetimes) taught slowly with diagrams and real compiler errors. After that: structs, enums and pattern matching, error handling, collections, generics and traits, closures and iterators, modules and testing, smart pointers, threads, a look at unsafe code and FFI, and two practical projects. Exercises are compiled with rustc and checked in a sandbox; reading the compiler's messages is part of the craft, so some exercises start out broken on purpose.