1. Introduction
  2. 1. Notation
  3. 2. Lexical structure
    1. 2.1. Input format
    2. 2.2. Keywords
    3. 2.3. Identifiers
    4. 2.4. Comments
    5. 2.5. Whitespace
    6. 2.6. Tokens
    7. 2.7. Paths
  4. 3. Macros
    1. 3.1. Macros By Example
    2. 3.2. Procedural Macros
  5. 4. Crates and source files
  6. 5. Conditional compilation
  7. 6. Items and attributes
    1. 6.1. Items
      1. 6.1.1. Modules
      2. 6.1.2. Extern crates
      3. 6.1.3. Use declarations
      4. 6.1.4. Functions
      5. 6.1.5. Type aliases
      6. 6.1.6. Structs
      7. 6.1.7. Enumerations
      8. 6.1.8. Unions
      9. 6.1.9. Constant items
      10. 6.1.10. Static items
      11. 6.1.11. Traits
      12. 6.1.12. Implementations
      13. 6.1.13. External blocks
    2. 6.2. Type and lifetime parameters
    3. 6.3. Associated Items
    4. 6.4. Visibility and Privacy
    5. 6.5. Attributes
  8. 7. Statements and expressions
    1. 7.1. Statements
    2. 7.2. Expressions
      1. 7.2.1. Literal expressions
      2. 7.2.2. Path expressions
      3. 7.2.3. Block expressions
      4. 7.2.4. Operator expressions
      5. 7.2.5. Grouped expressions
      6. 7.2.6. Array and index expressions
      7. 7.2.7. Tuple and index expressions
      8. 7.2.8. Struct expressions
      9. 7.2.9. Enum variant expressions
      10. 7.2.10. Call expressions
      11. 7.2.11. Method call expressions
      12. 7.2.12. Field access expressions
      13. 7.2.13. Closure expressions
      14. 7.2.14. Loop expressions
      15. 7.2.15. Range expressions
      16. 7.2.16. If and if let expressions
      17. 7.2.17. Match expressions
      18. 7.2.18. Return expressions
  9. 8. Patterns
  10. 9. Type system
    1. 9.1. Types
      1. 9.1.1. Boolean type
      2. 9.1.2. Numeric types
      3. 9.1.3. Textual types
      4. 9.1.4. Never type
      5. 9.1.5. Tuple types
      6. 9.1.6. Array types
      7. 9.1.7. Slice types
      8. 9.1.8. Struct types
      9. 9.1.9. Enumerated types
      10. 9.1.10. Union types
      11. 9.1.11. Function item types
      12. 9.1.12. Closure types
      13. 9.1.13. Pointer types
      14. 9.1.14. Function pointer types
      15. 9.1.15. Trait object types
      16. 9.1.16. Impl trait type
      17. 9.1.17. Type parameters
      18. 9.1.18. Inferred type
    2. 9.2. Dynamically Sized Types
    3. 9.3. Type layout
    4. 9.4. Interior mutability
    5. 9.5. Subtyping and Variance
    6. 9.6. Trait and lifetime bounds
    7. 9.7. Type coercions
    8. 9.8. Destructors
    9. 9.9. Lifetime elision
  11. 10. Special types and traits
  12. 11. Memory model
    1. 11.1. Memory allocation and lifetime
    2. 11.2. Memory ownership
    3. 11.3. Variables
  13. 12. Linkage
  14. 13. Unsafety
    1. 13.1. Unsafe functions
    2. 13.2. Unsafe blocks
    3. 13.3. Behavior considered undefined
    4. 13.4. Behavior not considered unsafe
  15. 14. Constant Evaluation
  16. Appendix: Influences
  17. Appendix: As-yet-undocumented Features
  18. Appendix: Glossary

The Rust Reference

Lexical structure