← All notesRust Programming Language16 chapters1. Foundations and Tooling→2. Core Language Syntax→3. Ownership and Memory Model→4. Data Modeling with Types→5. Traits and Abstraction→6. Collections, Strings, and Iterators→7. Error Handling→8. Modules, Crates, and Project Organization→9. Smart Pointers and Interior Mutability→10. Concurrency and Parallelism→11. Asynchronous Rust→12. Testing, Documentation, and Quality→13. Metaprogramming→14. Unsafe Rust and Systems Interop→15. Performance and Low-Level Control→16. Applied Rust and Ecosystem→Index 1. Foundations and Tooling 1.1 Language Overview 1.2 Toolchain Setup 1.3 Cargo Basics 1.4 Program Structure 2. Core Language Syntax 2.1 Variables and Mutability 2.2 Primitive Types 2.3 Control Flow 2.4 Functions 3. Ownership and Memory Model 3.1 Ownership Rules 3.2 References and Borrowing 3.3 Lifetimes 3.4 The Borrow Checker 4. Data Modeling with Types 4.1 Structs 4.2 Enums 4.3 Pattern Matching 4.4 Generics 5. Traits and Abstraction 5.1 Trait Fundamentals 5.2 Standard Library Traits 5.3 Static and Dynamic Dispatch 5.4 Advanced Trait Techniques 6. Collections, Strings, and Iterators 6.1 Standard Collections 6.2 Strings and Text 6.3 Iterators 6.4 Closures 7. Error Handling 7.1 Recoverable Errors 7.2 Unrecoverable Errors 7.3 Custom Error Types 7.4 Error Design Practices 8. Modules, Crates, and Project Organization 8.1 Module System 8.2 Crates and Packages 8.3 Build and Release 8.4 Tooling Ecosystem 9. Smart Pointers and Interior Mutability 9.1 Owned Pointers 9.2 Shared Ownership 9.3 Interior Mutability 9.4 Borrowed Data Abstractions 10. Concurrency and Parallelism 10.1 Threads 10.2 Message Passing 10.3 Shared-State Concurrency 10.4 Concurrency Safety 10.5 Data Parallelism 11. Asynchronous Rust 11.1 Async Fundamentals 11.2 Runtimes 11.3 Async Composition 11.4 Async Challenges 12. Testing, Documentation, and Quality 12.1 Testing Fundamentals 12.2 Advanced Testing 12.3 Benchmarking and Profiling 12.4 Documentation 13. Metaprogramming 13.1 Declarative Macros 13.2 Procedural Macros 13.3 Compile-Time Techniques 14. Unsafe Rust and Systems Interop 14.1 Unsafe Fundamentals 14.2 Memory Layout 14.3 Foreign Function Interface 14.4 Verification Tools 15. Performance and Low-Level Control 15.1 Optimization Techniques 15.2 Data-Oriented Design 15.3 Embedded and no_std 16. Applied Rust and Ecosystem 16.1 Idiomatic Design Patterns 16.2 Systems and CLI Development 16.3 Serialization and Data 16.4 Networking and Web 16.5 WebAssembly