• Introduction
  • 1. Notation
    • 1.1. Unicode productions
    • 1.2. String table productions
  • 2. Lexical structure
    • 2.1. Input format
    • 2.2. Keywords
    • 2.3. Identifiers
    • 2.4. Comments
    • 2.5. Whitespace
    • 2.6. Tokens
    • 2.7. Paths
  • 3. Macros
    • 3.1. Macros By Example
    • 3.2. Procedural Macros
  • 4. Crates and source files
  • 5. Items and attributes
    • 5.1. Items
    • 5.2. Visibility and Privacy
    • 5.3. Attributes
  • 6. Statements and expressions
    • 6.1. Statements
    • 6.2. Expressions
  • 7. Type system
    • 7.1. Types
    • 7.2. Subtyping
    • 7.3. Type coercions
  • 8. Special traits
    • 8.1. The Copy trait
    • 8.2. The Sized trait
    • 8.3. The Drop trait
    • 8.4. The Deref trait
    • 8.5. The Send trait
    • 8.6. The Sync trait
  • 9. Memory model
    • 9.1. Memory allocation and lifetime
    • 9.2. Memory ownership
    • 9.3. Variables
  • 10. Linkage
  • 11. Unsafety
    • 11.1. Unsafe functions
    • 11.2. Unsafe blocks
    • 11.3. Behavior considered undefined
    • 11.4. Behavior not considered unsafe
  • Appendix: Influences
  • Appendix: As-yet-undocumented Features
  • Appendix: Glossory

The Rust Reference

Notation