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
18pub type Never = core::convert::Infallible;
19