From 3291d09c6657cbcfc89850a00ba0ad3625f3de5f Mon Sep 17 00:00:00 2001 From: Sky Date: Mon, 14 Nov 2022 10:29:59 -0500 Subject: [PATCH] Const stabilize `mem::discriminant` --- library/core/src/intrinsics.rs | 2 +- library/core/src/lib.rs | 1 - library/core/src/mem/mod.rs | 2 +- src/test/ui/consts/const_discriminant.rs | 1 - 4 files changed, 2 insertions(+), 4 deletions(-) diff --git a/library/core/src/intrinsics.rs b/library/core/src/intrinsics.rs index 819ccf5a3e9e7..bf08f227f0d35 100644 --- a/library/core/src/intrinsics.rs +++ b/library/core/src/intrinsics.rs @@ -2012,7 +2012,7 @@ extern "rust-intrinsic" { /// any safety invariants. /// /// The stabilized version of this intrinsic is [`core::mem::discriminant`]. - #[rustc_const_unstable(feature = "const_discriminant", issue = "69821")] + #[rustc_const_stable(feature = "const_discriminant", since = "CURRENT_RUSTC_VERSION")] #[rustc_safe_intrinsic] pub fn discriminant_value(v: &T) -> ::Discriminant; diff --git a/library/core/src/lib.rs b/library/core/src/lib.rs index 8425354837841..48175c157cfbf 100644 --- a/library/core/src/lib.rs +++ b/library/core/src/lib.rs @@ -107,7 +107,6 @@ #![feature(const_char_convert)] #![feature(const_clone)] #![feature(const_cmp)] -#![feature(const_discriminant)] #![feature(const_eval_select)] #![feature(const_float_bits_conv)] #![feature(const_float_classify)] diff --git a/library/core/src/mem/mod.rs b/library/core/src/mem/mod.rs index 956a69eda8a57..1d3d1233476e6 100644 --- a/library/core/src/mem/mod.rs +++ b/library/core/src/mem/mod.rs @@ -1133,7 +1133,7 @@ impl fmt::Debug for Discriminant { /// assert_ne!(mem::discriminant(&Foo::B(3)), mem::discriminant(&Foo::C(3))); /// ``` #[stable(feature = "discriminant_value", since = "1.21.0")] -#[rustc_const_unstable(feature = "const_discriminant", issue = "69821")] +#[rustc_const_stable(feature = "const_discriminant", since = "CURRENT_RUSTC_VERSION")] #[cfg_attr(not(test), rustc_diagnostic_item = "mem_discriminant")] #[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces pub const fn discriminant(v: &T) -> Discriminant { diff --git a/src/test/ui/consts/const_discriminant.rs b/src/test/ui/consts/const_discriminant.rs index 79e68590e85d4..d220c4393de73 100644 --- a/src/test/ui/consts/const_discriminant.rs +++ b/src/test/ui/consts/const_discriminant.rs @@ -1,5 +1,4 @@ // run-pass -#![feature(const_discriminant)] #![allow(dead_code)] use std::mem::{discriminant, Discriminant};