| # 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) |