Rust Programming Lessons

Choose your path and start learning Rust programming step by step.

intermediate

Closures

Rust closures tutorial — learn how closures capture variables, understand Fn, FnMut, and FnOnce traits, and use closures with iterators

25 min read
2 prerequisites

Ownership & Borrowing

Rust ownership explained — understand move semantics, borrowing rules, and how Rust guarantees memory safety without a garbage collector

25 min read
2 prerequisites

Option and Result

Master Rust Option and Result types for handling absence and errors with combinators, the ? operator, and error propagation

25 min read
4 prerequisites

Error Handling

Learn Rust error handling with the Result type, panic!, recoverable vs unrecoverable errors, and the ? operator for propagation

20 min read
2 prerequisites

Structs & Enums

Learn how to define Rust structs and enums to create custom data types, implement methods, and model your domain effectively

20 min read
3 prerequisites

Borrowing in Depth

Deep dive into Rust borrowing and references — learn shared and mutable references, the borrow checker, and safe data access

25 min read
1 prerequisites

Pattern Matching

Master Rust's powerful pattern matching with match expressions, if let, and destructuring

25 min read
2 prerequisites

Collections

Learn to use Rust's standard collections including Vec, HashMap, and HashSet with iterators

25 min read
2 prerequisites

Iterators

Master Rust's powerful iterator system to write expressive, efficient, and functional-style code

25 min read
3 prerequisites

Strings and Text

Understand Rust's two string types, text manipulation, UTF-8 encoding, and common string operations

25 min read
3 prerequisites

Testing in Rust

Learn how to write unit tests, integration tests, and use Rust's built-in testing framework to ensure your code is correct

25 min read
3 prerequisites

File I/O

Learn how to read from and write to files in Rust using std::fs and std::io traits

25 min read
4 prerequisites

Serde and JSON

Learn how to serialize and deserialize data structures to and from JSON using the serde and serde_json crates

25 min read
4 prerequisites