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