Skip to content

Commit

Permalink
const keyword: brief paragraph on 'const fn'
Browse files Browse the repository at this point in the history
  • Loading branch information
RalfJung committed Oct 11, 2020
1 parent 06a079c commit 0ec3ea9
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions library/std/src/keyword_docs.rs
Expand Up @@ -102,7 +102,9 @@ mod break_keyword {}

#[doc(keyword = "const")]
//
/// Compile-time constants and deterministic functions.
/// Compile-time constants and compile-time evaluable functions.
///
/// ## Compile-time constants
///
/// Sometimes a certain value is used many times throughout a program, and it can become
/// inconvenient to copy it over and over. What's more, it's not always possible or desirable to
Expand Down Expand Up @@ -145,15 +147,28 @@ mod break_keyword {}
///
/// Constants, like statics, should always be in `SCREAMING_SNAKE_CASE`.
///
/// For more detail on `const`, see the [Rust Book] or the [Reference].
///
/// ## Compile-time evaluable functions
///
/// The other main use of the `const` keyword is in `const fn`. This marks a function as being
/// callable in the body of a `const` or `static` item and in array initializers (commonly called
/// "const contexts"). `const fn` are restricted in the set of operations they can perform, to
/// ensure that they can be evaluated at compile-time. See the [Reference][const-eval] for more
/// detail.
///
/// Turning a `fn` into a `const fn` has no effect on run-time uses of that function.
///
/// ## Other uses of `const`
///
/// The `const` keyword is also used in raw pointers in combination with `mut`, as seen in `*const
/// T` and `*mut T`. More about `const` as used in raw pointers can be read at the Rust docs for the [pointer primitive].
///
/// For more detail on `const`, see the [Rust Book] or the [Reference].
///
/// [pointer primitive]: primitive.pointer.html
/// [Rust Book]:
/// ../book/ch03-01-variables-and-mutability.html#differences-between-variables-and-constants
/// [Reference]: ../reference/items/constant-items.html
/// [cosnt-eval]: ./reference/const_eval.html
mod const_keyword {}

#[doc(keyword = "continue")]
Expand Down

0 comments on commit 0ec3ea9

Please sign in to comment.