1. Introduction
  2. Meet Safe and Unsafe
    1. How Safe and Unsafe Interact
    2. What Unsafe Can Do
    3. Working with Unsafe
  3. Data Layout
    1. repr(Rust)
    2. Exotically Sized Types
    3. Other reprs
  4. Ownership
    1. References
    2. Aliasing
    3. Lifetimes
    4. Limits of Lifetimes
    5. Lifetime Elision
    6. Unbounded Lifetimes
    7. Higher-Rank Trait Bounds
    8. Subtyping and Variance
    9. Drop Check
    10. PhantomData
    11. Splitting Borrows
  5. Type Conversions
    1. Coercions
    2. The Dot Operator
    3. Casts
    4. Transmutes
  6. Uninitialized Memory
    1. Checked
    2. Drop Flags
    3. Unchecked
  7. Ownership Based Resource Management
    1. Constructors
    2. Destructors
    3. Leaking
  8. Unwinding
    1. Exception Safety
    2. Poisoning
  9. Concurrency
    1. Races
    2. Send and Sync
    3. Atomics
  10. Implementing Vec
    1. Layout
    2. Allocating
    3. Push and Pop
    4. Deallocating
    5. Deref
    6. Insert and Remove
    7. IntoIter
    8. RawVec
    9. Drain
    10. Handling Zero-Sized Types
    11. Final Code
  11. Implementing Arc and Mutex
    1. Arc
      1. Layout
      2. Base Code
      3. Cloning
      4. Dropping
      5. Final Code
  12. FFI
  13. Beneath std
    1. #[panic_handler]