1. 1. Introduction
  2. 2. When to use Rust?
  3. General Rust
  4. 3. When to use references (&T)?
    1. 3.1. How many lifetime parameters should my struct have?
  5. 4. When borrowing does not work
    1. 4.1. Vector and indices
    2. 4.2. Ref-counting
  6. 5. When to use enums vs traits?
  7. 6. So you're designing a trait...
    1. 6.1. When to use generics vs associated types?
  8. 7. Errors: When and how to use Result
  9. Async Rust
  10. 8. When to use async I/O vs sync I/O?
  11. 9. Choosing and configuring your executor
    1. 9.1. Work stealing
    2. 9.2. Executor per core / thread per core
  12. 10. Choosing and configuring your executor
    1. 10.1. Work stealing
    2. 10.2. Thread per core
  13. Embedded or systems programming
  14. 11. Intrusive linked list
  15. Coming from C++
  16. Coming from Java
  17. Coming from Python

Designing traits