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

Rust Distilled

Copy