1.
Introduction
2.
Rust history
Rust Environment Setup
3.
Environment Setup
3.1.
Rust Environment Setup
3.2.
Setup Rust Kernel
3.3.
Update Rust
3.4.
Uninstall Rust
Rust Command Line Tools
4.
Command Line Tool
4.1.
help
4.2.
create rust app
4.3.
check
4.4.
build
4.5.
clean
4.6.
Structuring Rust Applications
4.7.
Advanced Rust Projects Structure
Rust Essentials
5.
Primitive Data Types
5.1.
integer_dtypes
5.2.
Floats
5.3.
Booleans
5.4.
Characters
5.5.
Constants
5.6.
Type conversion
5.7.
numeric operations
5.8.
character operations
5.9.
Creating Ranges
Control Flow
6.
Flow Control
6.1.
Conditionals
6.1.1.
If statement
6.1.2.
else if
6.1.3.
If else expression
6.2.
Loops
6.2.1.
loop
6.2.2.
while loop
6.2.3.
for loop
6.2.4.
Advanced for loop
6.2.5.
Break and Continue
6.2.5.1.
break
6.2.5.2.
continue
6.2.6.
Advanced Loop Concepts
6.3.
Match statement
Rust Compound Data Types
7.
Data Structures
7.1.
Arrays
7.2.
Vectors
7.3.
Tuples
7.4.
HashMaps
7.5.
HashSets
7.6.
Data Structure Operations
7.7.
Iterations
Enumerations in Rust
8.
Enum Data Type
8.1.
Creating Enums
8.2.
Using Enums
8.3.
Enums with data
8.4.
Enums as Modules
8.5.
Option Enum
8.6.
Result Enum
8.7.
Enum in Practice
Ownership and Borrowing
9.
Variables Scope
9.1.
Local Scope
9.2.
Static Local Scope
9.3.
Global Scope
9.4.
Static Global Scope
9.5.
Static Mutables
10.
String Object
10.1.
String objects
10.2.
String Slices
10.3.
String Slices Ops
10.4.
Collections Operations
10.4.1.
Array Slices
10.4.2.
Array Slice Ops
10.5.
Copy and Move
10.5.1.
Copy
10.5.2.
Move
10.5.3.
Clone
10.6.
Borrowing
10.6.1.
Simple Borrowing
10.6.2.
Borrow Checker
Functions
11.
Functions
11.1.
Simple Functions
11.2.
Default Parameters
11.3.
Higher-Order Functions
11.4.
Closures
11.5.
Function Pointers
Structures
12.
Structures
12.1.
Defining Structs
12.2.
Tuple Structs
12.3.
Unit-Like Structs
12.4.
Struct Methods
12.5.
Associated Functions
12.6.
Struct Lifetime
Traits
13.
Traits
13.1.
Defining Traits
13.2.
Trait Bounds
13.3.
Default Implementations
13.4.
Trait Objects
13.5.
Supertraits
13.6.
Trait Inheritance
Generics
14.
Generics
14.1.
Defining Generics
14.2.
Generic Functions
14.3.
Generic Structs
14.4.
Generic Enums
14.5.
Generic Traits
14.6.
Lifetimes in Generics
Advanced Concepts
15.
Advanced Concepts
15.1.
Smart Pointers
15.2.
Deref Trait
15.3.
Drop Trait
15.4.
Interior Mutability
15.5.
Concurrency
15.6.
Asynchronous Programming
Multithreading and Concurrency
16.
Multithreading
16.1.
Creating Threads
16.2.
Thread Safety
16.3.
Message Passing
16.4.
Shared State
16.5.
Mutexes
16.6.
Atomic Types
17.
Concurrency
17.1.
Concurrency Patterns
17.2.
Async-Await
17.3.
Futures and Promises
17.4.
Streams
17.5.
Concurrency Libraries
Error Handling
18.
Error Handling
18.1.
Panic and Unwind
18.2.
Result and Option
18.3.
Custom Error Types
18.4.
Error Handling Best Practices
Modules and Packages
19.
Modules
19.1.
Defining Modules
19.2.
Module Hierarchy
19.3.
Re-exports
19.4.
Path Imports
20.
Packages
20.1.
Creating Packages
20.2.
Publishing Packages
20.3.
Managing Dependencies
20.4.
Versioning
Testing
21.
Testing
21.1.
Unit Tests
21.2.
Integration Tests
21.3.
Testing Frameworks
21.4.
Writing Effective Tests
21.5.
Test Driven Development
Memory Management
22.
Memory Management
22.1.
Heap vs Stack
22.2.
Ownership Rules
22.3.
Lifetimes
22.4.
Borrowing and References
Macros
23.
Macros
23.1.
Declarative Macros
23.2.
Procedural Macros
23.3.
Macro Rules
23.4.
Custom Derive
23.5.
Attribute-like Macros
23.6.
Function-like Macros
Performance Optimization
24.
Performance Optimization
24.1.
Profiling
24.2.
Benchmarking
24.3.
Code Optimization
24.4.
Memory Optimization
24.5.
Concurrency Optimization
Light
Rust
Coal
Navy
Ayu
Rust Distilled
Error Handling Best Practices