1. Introduction
  2. Notation
  3. Lexical structure
    1. Input format
    2. Keywords
    3. Identifiers
    4. Comments
    5. Whitespace
    6. Tokens
  4. Macros
    1. Macros By Example
    2. Procedural Macros
  5. Crates and source files
  6. Conditional compilation
  7. Items
    1. Modules
    2. Extern crates
    3. Use declarations
    4. Functions
    5. Type aliases
    6. Structs
    7. Enumerations
    8. Unions
    9. Constant items
    10. Static items
    11. Traits
    12. Implementations
    13. External blocks
    14. Generic parameters
    15. Associated Items
  8. Attributes
    1. Testing
    2. Derive
    3. Diagnostics
    4. Code generation
    5. Limits
    6. Type System
    7. Debugger
  9. Statements and expressions
    1. Statements
    2. Expressions
      1. Literal expressions
      2. Path expressions
      3. Block expressions
      4. Operator expressions
      5. Grouped expressions
      6. Array and index expressions
      7. Tuple and index expressions
      8. Struct expressions
      9. Call expressions
      10. Method call expressions
      11. Field access expressions
      12. Closure expressions
      13. Loop expressions
      14. Range expressions
      15. If and if let expressions
      16. Match expressions
      17. Return expressions
      18. Await expressions
      19. Underscore expressions
  10. Patterns
  11. Type system
    1. Types
      1. Boolean type
      2. Numeric types
      3. Textual types
      4. Never type
      5. Tuple types
      6. Array types
      7. Slice types
      8. Struct types
      9. Enumerated types
      10. Union types
      11. Function item types
      12. Closure types
      13. Pointer types
      14. Function pointer types
      15. Trait object types
      16. Impl trait type
      17. Type parameters
      18. Inferred type
    2. Dynamically Sized Types
    3. Type layout
    4. Interior mutability
    5. Subtyping and Variance
    6. Trait and lifetime bounds
    7. Type coercions
    8. Destructors
    9. Lifetime elision
  12. Special types and traits
  13. Names
    1. Namespaces
    2. Scopes
    3. Preludes
    4. Paths
    5. Name resolution
    6. Visibility and privacy
  14. Memory model
    1. Memory allocation and lifetime
    2. Variables
  15. Linkage
  16. Inline assembly
  17. Unsafety
    1. The unsafe keyword
    2. Behavior considered undefined
    3. Behavior not considered unsafe
  18. Constant Evaluation
  19. Application Binary Interface
  20. The Rust runtime
  21. Appendices
    1. Macro Follow-Set Ambiguity Formal Specification
    2. Influences
    3. Test summary
    4. Glossary