about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChase Wilson <me@chasewilson.dev>2022-06-17 11:39:59 -0500
committerChase Wilson <me@chasewilson.dev>2022-06-17 11:54:55 -0500
commit59be3e856f218f55be0f73bcfed6265772437ec7 (patch)
tree05518cf8be8b1781e6a3e30979d0afce45e3b8fc
parent949a64ab20b9d5d4516416c4735b134e0496855a (diff)
downloadrust-59be3e856f218f55be0f73bcfed6265772437ec7.tar.gz
rust-59be3e856f218f55be0f73bcfed6265772437ec7.zip
Stabilized Option::unzip()
-rw-r--r--library/core/src/option.rs11
-rw-r--r--library/core/tests/lib.rs1
2 files changed, 7 insertions, 5 deletions
diff --git a/library/core/src/option.rs b/library/core/src/option.rs
index 28ea45ed235..1d6784af2a5 100644
--- a/library/core/src/option.rs
+++ b/library/core/src/option.rs
@@ -1711,8 +1711,6 @@ impl<T, U> Option<(T, U)> {
     /// # Examples
     ///
     /// ```
-    /// #![feature(unzip_option)]
-    ///
     /// let x = Some((1, "hi"));
     /// let y = None::<(u8, u32)>;
     ///
@@ -1720,8 +1718,13 @@ impl<T, U> Option<(T, U)> {
     /// assert_eq!(y.unzip(), (None, None));
     /// ```
     #[inline]
-    #[unstable(feature = "unzip_option", issue = "87800", reason = "recently added")]
-    pub const fn unzip(self) -> (Option<T>, Option<U>) {
+    #[stable(feature = "unzip_option", since = "1.63.0")]
+    #[rustc_const_unstable(feature = "const_option", issue = "67441")]
+    pub const fn unzip(self) -> (Option<T>, Option<U>)
+    where
+        T: ~const Destruct,
+        U: ~const Destruct,
+    {
         match self {
             Some((a, b)) => (Some(a), Some(b)),
             None => (None, None),
diff --git a/library/core/tests/lib.rs b/library/core/tests/lib.rs
index 63c9602abe7..30b9cb4dadc 100644
--- a/library/core/tests/lib.rs
+++ b/library/core/tests/lib.rs
@@ -91,7 +91,6 @@
 #![feature(strict_provenance)]
 #![feature(trusted_random_access)]
 #![feature(unsize)]
-#![feature(unzip_option)]
 #![feature(const_array_from_ref)]
 #![feature(const_slice_from_ref)]
 #![feature(waker_getters)]