Document the type keyword

This commit is contained in:
Alexis Bourget 2020-06-27 18:33:15 +02:00
parent 394e1b40d2
commit 3fc5593ea8

View file

@ -1463,9 +1463,33 @@ mod true_keyword {}
//
/// Define an alias for an existing type.
///
/// The documentation for this keyword is [not yet complete]. Pull requests welcome!
/// The syntax is `type Name = ExistingType;`.
///
/// [not yet complete]: https://github.com/rust-lang/rust/issues/34601
/// # Examples
///
/// `type` does **not** create a new type:
///
/// ```rust
/// type Meters = u32;
/// type Kilograms = u32;
///
/// let m: Meters = 3;
/// let k: Kilograms = 3;
///
/// assert_eq!(m, k);
/// ```
///
/// In traits, using `type` allows the usage of an associated type without
/// knowing about it when declaring the [`trait`]:
///
/// ```rust
/// trait Iterator {
/// type Item;
/// fn next(&mut self) -> Option<Self::Item>;
/// }
/// ```
///
/// [`trait`]: keyword.trait.html
mod type_keyword {}
#[doc(keyword = "unsafe")]