mirror of
https://github.com/rust-lang/book.git
synced 2026-09-14 22:31:54 -04:00
Merge pull request #540 from rust-lang/keywords
Fill in short definitons for keywords
This commit is contained in:
@@ -1,58 +1,70 @@
|
||||
## Appendix A: Keywords
|
||||
|
||||
The following keywords are reserved by the Rust language and may not be used as
|
||||
names of functions, variables, macros, modules, crates, constants, static
|
||||
values, attributes, struct fields, or parameters.
|
||||
identifiers such as names of functions, variables, parameters, struct fields,
|
||||
modules, crates, constants, macros, static values, attributes, types, traits,
|
||||
or lifetimes.
|
||||
|
||||
### Keywords Currently in Use
|
||||
|
||||
* `as` - primitive casting, disambiguating the specific trait containing an
|
||||
item, or renaming items in `use` and `extern crate` statements
|
||||
* `break` - exit a loop immediately
|
||||
* `const` - constant items and constant raw pointers
|
||||
* `continue` - continue to the next loop iteration
|
||||
* `crate` - external crate linkage or a macro variable representing the crate
|
||||
in which the macro is defined
|
||||
* `else` - fallback for `if` and `if let` control flow constructs
|
||||
* `enum` - defining an enumeration
|
||||
* `extern` - external crate, function, and variable linkage
|
||||
* `false` - boolean false literal
|
||||
* `fn` - function definition and function pointer type
|
||||
* `for` - iterator loop, part of trait impl syntax, and higher-ranked lifetime
|
||||
syntax
|
||||
* `if` - conditional branching
|
||||
* `impl` - inherent and trait implementation block
|
||||
* `in` - part of `for` loop syntax
|
||||
* `let` - variable binding
|
||||
* `loop` - unconditional, infinite loop
|
||||
* `match` - pattern matching
|
||||
* `mod` - module declaration
|
||||
* `move` - makes a closure take ownership of all its captures
|
||||
* `mut` - denotes mutability in references, raw pointers, and pattern bindings
|
||||
* `pub` - denotes public visibility in struct fields, `impl` blocks, and modules
|
||||
* `ref` - by-reference binding
|
||||
* `return` - return from function
|
||||
* `Self` - type alias for the type implementing a trait
|
||||
* `self` - method subject or current module
|
||||
* `static` - global variable or lifetime lasting the entire program execution
|
||||
* `struct` - structure definition
|
||||
* `super` - parent module of the current module
|
||||
* `trait` - trait definition
|
||||
* `true` - boolean true literal
|
||||
* `type` - type alias and associated type definition
|
||||
* `unsafe` - denotes unsafe code, functions, traits, and implementations
|
||||
* `use` - import symbols into scope
|
||||
* `where` - type constraint clauses
|
||||
* `while` - conditional loop
|
||||
|
||||
### Keywords Reserved for Future Use
|
||||
|
||||
These keywords do not have any functionality, but are reserved by Rust for
|
||||
potential future use.
|
||||
|
||||
* `abstract`
|
||||
* `alignof`
|
||||
* `as`
|
||||
* `become`
|
||||
* `box`
|
||||
* `break`
|
||||
* `const`
|
||||
* `continue`
|
||||
* `crate`
|
||||
* `do`
|
||||
* `else`
|
||||
* `enum`
|
||||
* `extern`
|
||||
* `false`
|
||||
* `final`
|
||||
* `fn`
|
||||
* `for`
|
||||
* `if`
|
||||
* `impl`
|
||||
* `in`
|
||||
* `let`
|
||||
* `loop`
|
||||
* `macro`
|
||||
* `match`
|
||||
* `mod`
|
||||
* `move`
|
||||
* `mut`
|
||||
* `offsetof`
|
||||
* `override`
|
||||
* `priv`
|
||||
* `proc`
|
||||
* `pub`
|
||||
* `pure`
|
||||
* `ref`
|
||||
* `return`
|
||||
* `Self`
|
||||
* `self`
|
||||
* `sizeof`
|
||||
* `static`
|
||||
* `struct`
|
||||
* `super`
|
||||
* `trait`
|
||||
* `true`
|
||||
* `type`
|
||||
* `typeof`
|
||||
* `unsafe`
|
||||
* `unsized`
|
||||
* `use`
|
||||
* `virtual`
|
||||
* `where`
|
||||
* `while`
|
||||
* `yield`
|
||||
|
||||
Reference in New Issue
Block a user