Course
Rust
Topics in Rust.
99 Topics
6 Quizzes
9h 54min Est. Time
Curriculum
1
Ownership Rules
Ownership Rules
2
Borrowing & References
Borrowing & References
3
Copy vs Move Semantics
Copy vs Move Semantics
4
Lifetime Basics
Lifetime Basics
5
NLL (Non-Lexical Lifetimes)
NLL (Non-Lexical Lifetimes)
6
Interior Mutability (Cell, RefCell)
Interior Mutability (Cell, RefCell)
7
Drop Order & Scopes
Drop Order & Scopes
8
Clone-on-Write (Cow)
Clone-on-Write (Cow)
9
Lifetime Elision Rules
Lifetime Elision Rules
10
Lifetime Subtyping & Variance
Lifetime Subtyping & Variance
11
&'static Lifetime
&'static Lifetime
12
Lifetime Bounds on Generics
Lifetime Bounds on Generics
13
Lifetime of Trait Objects
Lifetime of Trait Objects
14
Higher-Ranked Trait Bounds (for<'a>)
Higher-Ranked Trait Bounds (for<'a>)
15
Self-Referential Structs with Pin
Self-Referential Structs with Pin
16
Unsafe Superpowers
Unsafe Superpowers
17
Raw Pointers (*const T, *mut T)
Raw Pointers (*const T, *mut T)
18
Unsafe Traits: Send & Sync
Unsafe Traits: Send & Sync
19
FFI: Calling C from Rust
FFI: Calling C from Rust
20
Inline Assembly (asm!)
Inline Assembly (asm!)
21
Unsafe Function Safety Contracts
Unsafe Function Safety Contracts
22
Pin & Self-Referential Structs
Pin & Self-Referential Structs
23
Trait Bounds & Where Clauses
Trait Bounds & Where Clauses
24
Associated Types vs Generics
Associated Types vs Generics
25
Trait Objects & Dynamic Dispatch
Trait Objects & Dynamic Dispatch
26
Default Implementations & Specialization
Default Implementations & Specialization
27
Coherence & Orphan Rule
Coherence & Orphan Rule
28
Generic Associated Types (GATs)
Generic Associated Types (GATs)
29
Derive Macros & #[derive]
Derive Macros & #[derive]
30
Declarative Macros (macro_rules!)
Declarative Macros (macro_rules!)
31
Repetition & Metavariables
Repetition & Metavariables
32
Hygiene & Token Trees
Hygiene & Token Trees
33
Procedural Macros Overview
Procedural Macros Overview
34
Derive Mode Procedural Macros
Derive Mode Procedural Macros
35
Attribute Macros
Attribute Macros
36
Function-like Procedural Macros
Function-like Procedural Macros
37
Future Trait & Poll
Future Trait & Poll
38
async/await Desugaring
async/await Desugaring
39
Tokio Runtime Architecture
Tokio Runtime Architecture
40
Async Task Lifecycle
Async Task Lifecycle
41
Async Traits (trait_variant)
Async Traits (trait_variant)
42
Pin Projections & Pin Hacks
Pin Projections & Pin Hacks
43
Select! Macro & Cancellation
Select! Macro & Cancellation
44
Send & Sync Auto Traits
Send & Sync Auto Traits
45
std::sync::Arc & Mutex
std::sync::Arc & Mutex
46
RwLock & Barrier
RwLock & Barrier
47
Crossbeam Scoped Threads
Crossbeam Scoped Threads
48
Channels (mpsc, tokio, crossbeam)
Channels (mpsc, tokio, crossbeam)
49
Atomic Types & Ordering
Atomic Types & Ordering
50
Lock-Free Data Structures
Lock-Free Data Structures
51
extern "C" Declarations
extern "C" Declarations
52
bindgen Usage
bindgen Usage
53
cbindgen for C Headers
cbindgen for C Headers
54
Callbacks with unsafe extern fn
Callbacks with unsafe extern fn
55
Error Handling Across FFI
Error Handling Across FFI
56
repr(C) & repr(transparent)
repr(C) & repr(transparent)
57
Safe FFI Wrapper Pattern
Safe FFI Wrapper Pattern
58
Global Allocator Trait
Global Allocator Trait
59
Custom Allocator Implementation
Custom Allocator Implementation
60
Allocator API & AllocError
Allocator API & AllocError
61
#[global_allocator]
#[global_allocator]
62
no_std Environment
no_std Environment
63
Core vs Std Crate Differences
Core vs Std Crate Differences
64
Embedded Rust with alloc
Embedded Rust with alloc
65
TokenStream Manipulation
TokenStream Manipulation
66
Syn & Quote Crates
Syn & Quote Crates
67
Attribute Macro Parameters
Attribute Macro Parameters
68
Derive Macro Field Analysis
Derive Macro Field Analysis
69
span_source_call_site() for Error Reporting
span_source_call_site() for Error Reporting
70
Compound Macros
Compound Macros
71
Testing Procedural Macros
Testing Procedural Macros
72
Result<T, E> & ? Operator
Result<T, E> & ? Operator
73
thiserror Crate
thiserror Crate
74
anyhow for Application Errors
anyhow for Application Errors
75
Error Trait & Custom Errors
Error Trait & Custom Errors
76
Context & Backtrace
Context & Backtrace
77
Error Stacking & Sources
Error Stacking & Sources
78
Panic Safety & Catch Unwind
Panic Safety & Catch Unwind
79
Unit & Integration Tests
Unit & Integration Tests
80
Test Organization & Workspaces
Test Organization & Workspaces
81
Test Fixtures with test_case
Test Fixtures with test_case
82
Property-Based Testing (proptest)
Property-Based Testing (proptest)
83
Fuzz Testing (cargo-fuzz)
Fuzz Testing (cargo-fuzz)
84
Doc-tests & Examples
Doc-tests & Examples
85
Benchmarking with criterion
Benchmarking with criterion
86
Cortex-M Bare Metal
Cortex-M Bare Metal
87
Peripheral Access Crates (PAC)
Peripheral Access Crates (PAC)
88
HAL (Hardware Abstraction Layers)
HAL (Hardware Abstraction Layers)
89
RTIC Framework
RTIC Framework
90
GPIO & Interrupts
GPIO & Interrupts
91
Embedded Storage (embedded-storage)
Embedded Storage (embedded-storage)
92
Defmt for Debugging
Defmt for Debugging
93
wasm-pack Build Pipeline
wasm-pack Build Pipeline
94
wasm-bindgen & JS Interop
wasm-bindgen & JS Interop
95
Web-sys & Js-sys
Web-sys & Js-sys
96
WebAssembly Linear Memory
WebAssembly Linear Memory
97
Performance Optimization for WASM
Performance Optimization for WASM
98
wasm-bindgen Rayon
wasm-bindgen Rayon
99
Server-Side WebAssembly (WASI)
Server-Side WebAssembly (WASI)
Quizzes
Rust Basics
5 questions
Rust Core Concepts
5 questions
Rust Intermediate
5 questions
Rust Advanced
5 questions
Rust Expert
5 questions
Rust Mastery
5 questions