1. Rust By Practice
  2. Small projects with Elegant code
  3. Variables
  4. Basic Types
    1. Numbers
    2. Char, Bool and Unit
    3. Statements and Expressions
    4. Functions
  5. Ownership and Borrowing
    1. Ownership
    2. Reference and Borrowing
  6. Compound Types
    1. string
    2. Array
    3. Slice
    4. Tuple
    5. Struct
    6. Enum
  7. Flow Control
  8. Pattern Match
    1. match, matches! and if let
    2. Patterns
  9. Method & Associated function
  10. Generics and Traits
    1. Generics
    2. Const Generics
    3. Traits
    4. Trait Object
    5. Advanced Traits
  11. Collection Types
    1. String
    2. Vector
    3. HashMap
  12. Type Conversion
    1. as
    2. From/Into
    3. Others
  13. Result and panic
    1. panic!
    2. Result and ?
  14. Crate and Module
    1. Package and Crate
    2. Module
    3. Advanced use and pub
  15. Comments and Docs
  16. Formatted output
    1. println! and format!
    2. Debug and Display
    3. formating
  17. Lifetime
    1. basic
    2. &'static and T: 'static
    3. advanced
  18. Functional programing
    1. Closure
    2. Iterator
  19. newtype and DST
  20. Smart pointers TODO
    1. Box
    2. Deref
    3. Drop
    4. Rc and Arc
    5. Cell and RefCell
  21. Weak and Circle reference TODO
  22. Self referential TODO
  23. Threads TODO
    1. Basic using
    2. Message passing
    3. Sync
    4. Atomic
    5. Send and Sync
  24. Global variables TODO
  25. Errors TODO
  26. Unsafe doing
    1. Inline assembly
  27. Macro TODO
  28. Tests TODO
    1. Write Tests
    2. Benchmark
    3. Unit and Integration
    4. Assertions
  29. Async/Await TODO
    1. async and await!
    2. Future
    3. Pin and Unpin
    4. Stream
  30. Standard Library TODO
    1. String
  31. Fighting with Compiler
    1. Borrowing