A Mental Checklist of Rust Language Learning Outcomes
Starting out with Rust? We're here for you. 😎
In addition to 🕶 Awesome Rust & IOTA, feel free to use this as reference to track your learning outcomes! 🦀
Find a good resource on any topics below, or want to add? Share the love and contribute by turning a topic into a URL link. Don't forget to make a PR!
Good resources are/have:
- Videos or Articles
- Clear & Concise instructions and explanations
- Topic coverage: Mutually Exclusive, Collectively Exhaustive
Introduction
- Installing and configuring Rust. [ MacOS ][ Windows ][ Ubuntu ]
- Configuring Rust with your IDE.
- Setting up Cargo, the Rust package manager.
Types & Variables
- Core Data Types
- Operators
- Scope & Shadowing
- Declaring & Using Constants
- Stacks & Heaps
Control Flow
- If Statements
- While and Loop
- For Loops
- Match Statements
Data Structures
- Structs
- Enums
- Unions
- OptionT, if let, while let
- Arrays
- Vectors
- Slices
- Strings vs &str in Rust
- Tuples
- Pattern Matching
- Generics
Functions
- Functions & Function Arguments
- Methods
- Closures
- High-order functions
Traits
- Traits basics
- Operator Overloading
- Static Dispatches
- Dynamic Dispatches
Lifetimes & Memory in Rust
- Ownership
- Borrowing
- Lifetimes
- Reference Counted Variables
- Atomic Reference-counted Variables
- Mutexes & Thread-safe mutability
Crates, Modules, Testing & Documenting
- Consuming Crates
- Building Modules & Crates
- Testing
- Commenting & Documentation