summaryrefslogtreecommitdiffstats
path: root/third_party/rust/futures-util/src/never.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/futures-util/src/never.rs')
-rw-r--r--third_party/rust/futures-util/src/never.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/third_party/rust/futures-util/src/never.rs b/third_party/rust/futures-util/src/never.rs
new file mode 100644
index 0000000000..e811f97df7
--- /dev/null
+++ b/third_party/rust/futures-util/src/never.rs
@@ -0,0 +1,18 @@
+//! This module contains the `Never` type.
+//!
+//! Values of this type can never be created and will never exist.
+
+/// A type with no possible values.
+///
+/// This is used to indicate values which can never be created, such as the
+/// error type of infallible futures.
+///
+/// This type is a stable equivalent to the `!` type from `std`.
+///
+/// This is currently an alias for [`std::convert::Infallible`], but in
+/// the future it may be an alias for [`!`][never].
+/// See ["Future compatibility" section of `std::convert::Infallible`][infallible] for more.
+///
+/// [never]: https://doc.rust-lang.org/nightly/std/primitive.never.html
+/// [infallible]: https://doc.rust-lang.org/nightly/std/convert/enum.Infallible.html#future-compatibility
+pub type Never = core::convert::Infallible;