1 | //! This module contains the `Never` type. |
2 | //! |
3 | //! Values of this type can never be created and will never exist. |
4 | |
5 | /// A type with no possible values. |
6 | /// |
7 | /// This is used to indicate values which can never be created, such as the |
8 | /// error type of infallible futures. |
9 | /// |
10 | /// This type is a stable equivalent to the `!` type from `std`. |
11 | /// |
12 | /// This is currently an alias for [`std::convert::Infallible`], but in |
13 | /// the future it may be an alias for [`!`][never]. |
14 | /// See ["Future compatibility" section of `std::convert::Infallible`][infallible] for more. |
15 | /// |
16 | /// [never]: https://doc.rust-lang.org/nightly/std/primitive.never.html |
17 | /// [infallible]: https://doc.rust-lang.org/nightly/std/convert/enum.Infallible.html#future-compatibility |
18 | pub type Never = core::convert::Infallible; |
19 | |