# The Rust Reference

[Introduction](introduction.md)

- [Notation](notation.md)

- [Lexical structure](lexical-structure.md)
    - [Input format](input-format.md)
    - [Keywords](keywords.md)
    - [Identifiers](identifiers.md)
    - [Comments](comments.md)
    - [Whitespace](whitespace.md)
    - [Tokens](tokens.md)

- [Macros](macros.md)
    - [Macros By Example](macros-by-example.md)
    - [Procedural Macros](procedural-macros.md)

- [Crates and source files](crates-and-source-files.md)

- [Conditional compilation](conditional-compilation.md)

- [Items](items.md)
    - [Modules](items/modules.md)
    - [Extern crates](items/extern-crates.md)
    - [Use declarations](items/use-declarations.md)
    - [Functions](items/functions.md)
    - [Type aliases](items/type-aliases.md)
    - [Structs](items/structs.md)
    - [Enumerations](items/enumerations.md)
    - [Unions](items/unions.md)
    - [Constant items](items/constant-items.md)
    - [Static items](items/static-items.md)
    - [Traits](items/traits.md)
    - [Implementations](items/implementations.md)
    - [External blocks](items/external-blocks.md)
    - [Generic parameters](items/generics.md)
    - [Associated Items](items/associated-items.md)

- [Attributes](attributes.md)
    - [Testing](attributes/testing.md)
    - [Derive](attributes/derive.md)
    - [Diagnostics](attributes/diagnostics.md)
    - [Code generation](attributes/codegen.md)
    - [Limits](attributes/limits.md)
    - [Type System](attributes/type_system.md)
    - [Debugger](attributes/debugger.md)

- [Statements and expressions](statements-and-expressions.md)
    - [Statements](statements.md)
    - [Expressions](expressions.md)
        - [Literal expressions](expressions/literal-expr.md)
        - [Path expressions](expressions/path-expr.md)
        - [Block expressions](expressions/block-expr.md)
        - [Operator expressions](expressions/operator-expr.md)
        - [Grouped expressions](expressions/grouped-expr.md)
        - [Array and index expressions](expressions/array-expr.md)
        - [Tuple and index expressions](expressions/tuple-expr.md)
        - [Struct expressions](expressions/struct-expr.md)
        - [Call expressions](expressions/call-expr.md)
        - [Method call expressions](expressions/method-call-expr.md)
        - [Field access expressions](expressions/field-expr.md)
        - [Closure expressions](expressions/closure-expr.md)
        - [Loop expressions](expressions/loop-expr.md)
        - [Range expressions](expressions/range-expr.md)
        - [If expressions](expressions/if-expr.md)
        - [Match expressions](expressions/match-expr.md)
        - [Return expressions](expressions/return-expr.md)
        - [Await expressions](expressions/await-expr.md)
        - [Underscore expressions](expressions/underscore-expr.md)

- [Patterns](patterns.md)

- [Type system](type-system.md)
    - [Types](types.md)
        - [Boolean type](types/boolean.md)
        - [Numeric types](types/numeric.md)
        - [Textual types](types/textual.md)
        - [Never type](types/never.md)
        - [Tuple types](types/tuple.md)
        - [Array types](types/array.md)
        - [Slice types](types/slice.md)
        - [Struct types](types/struct.md)
        - [Enumerated types](types/enum.md)
        - [Union types](types/union.md)
        - [Function item types](types/function-item.md)
        - [Closure types](types/closure.md)
        - [Pointer types](types/pointer.md)
        - [Function pointer types](types/function-pointer.md)
        - [Trait object types](types/trait-object.md)
        - [Impl trait type](types/impl-trait.md)
        - [Type parameters](types/parameters.md)
        - [Inferred type](types/inferred.md)
    - [Dynamically Sized Types](dynamically-sized-types.md)
    - [Type layout](type-layout.md)
    - [Interior mutability](interior-mutability.md)
    - [Subtyping and Variance](subtyping.md)
    - [Trait and lifetime bounds](trait-bounds.md)
    - [Type coercions](type-coercions.md)
    - [Destructors](destructors.md)
    - [Lifetime elision](lifetime-elision.md)

- [Special types and traits](special-types-and-traits.md)

- [Names](names.md)
    - [Namespaces](names/namespaces.md)
    - [Scopes](names/scopes.md)
    - [Preludes](names/preludes.md)
    - [Paths](paths.md)
    - [Name resolution](names/name-resolution.md)
    - [Visibility and privacy](visibility-and-privacy.md)

- [Memory model](memory-model.md)
    - [Memory allocation and lifetime](memory-allocation-and-lifetime.md)
    - [Variables](variables.md)

- [Panic](panic.md)

- [Linkage](linkage.md)

- [Inline assembly](inline-assembly.md)

- [Unsafety](unsafety.md)
    - [The `unsafe` keyword](unsafe-keyword.md)
    - [Behavior considered undefined](behavior-considered-undefined.md)
    - [Behavior not considered unsafe](behavior-not-considered-unsafe.md)

- [Constant Evaluation](const_eval.md)

- [Application Binary Interface](abi.md)

- [The Rust runtime](runtime.md)

- [Appendices](appendices.md)
    - [Grammar summary](grammar.md)
    - [Macro Follow-Set Ambiguity Formal Specification](macro-ambiguity.md)
    - [Influences](influences.md)
    - [Test summary](test-summary.md)
    - [Glossary](glossary.md)
