diff --git a/src/liballoc/lib.rs b/src/liballoc/lib.rs index 41c2b221704e..5f18fe8bfab8 100644 --- a/src/liballoc/lib.rs +++ b/src/liballoc/lib.rs @@ -87,7 +87,7 @@ #![feature(const_generic_impls_guard)] #![feature(const_generics)] #![feature(const_in_array_repeat_expressions)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(cow_is_borrowed)] #![feature(dispatch_from_dyn)] #![feature(core_intrinsics)] diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs index 2b26e5303a89..1391dc7a9537 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs @@ -73,7 +73,7 @@ #![feature(const_ascii_ctype_on_intrinsics)] #![feature(const_alloc_layout)] #![feature(const_discriminant)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_loop)] #![feature(const_checked_int_methods)] #![feature(const_euclidean_int_methods)] diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs index b1317bc2121f..1714d2ee98ef 100644 --- a/src/libcore/num/mod.rs +++ b/src/libcore/num/mod.rs @@ -1578,7 +1578,7 @@ $EndFeature, " #[stable(feature = "no_panic_abs", since = "1.13.0")] #[rustc_const_stable(feature = "const_int_methods", since = "1.32.0")] #[allow(unused_attributes)] - #[allow_internal_unstable(const_if_match)] + #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))] #[inline] pub const fn wrapping_abs(self) -> Self { if self.is_negative() { @@ -1867,7 +1867,7 @@ assert_eq!(", stringify!($SelfT), "::MIN.overflowing_neg(), (", stringify!($Self #[stable(feature = "wrapping", since = "1.7.0")] #[rustc_const_stable(feature = "const_int_methods", since = "1.32.0")] #[allow(unused_attributes)] - #[allow_internal_unstable(const_if_match)] + #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))] pub const fn overflowing_neg(self) -> (Self, bool) { if self == Self::MIN { (Self::MIN, true) @@ -2160,7 +2160,7 @@ $EndFeature, " #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_stable(feature = "const_int_methods", since = "1.32.0")] #[allow(unused_attributes)] - #[allow_internal_unstable(const_if_match)] + #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))] #[inline] #[rustc_inherit_overflow_checks] pub const fn abs(self) -> Self { diff --git a/src/librustc_ast/lib.rs b/src/librustc_ast/lib.rs index cb3118cba23d..5c1c9d6ab906 100644 --- a/src/librustc_ast/lib.rs +++ b/src/librustc_ast/lib.rs @@ -7,7 +7,7 @@ #![doc(html_root_url = "https://doc.rust-lang.org/nightly/", test(attr(deny(warnings))))] #![feature(bool_to_option)] #![feature(box_syntax)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_fn)] // For the `transmute` in `P::new` #![feature(const_panic)] #![feature(const_transmute)] diff --git a/src/librustc_hir/lib.rs b/src/librustc_hir/lib.rs index b51c0a6e9884..20ac2a04b474 100644 --- a/src/librustc_hir/lib.rs +++ b/src/librustc_hir/lib.rs @@ -3,7 +3,7 @@ //! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/hir.html #![feature(crate_visibility_modifier)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_fn)] // For the unsizing cast on `&[]` #![feature(const_panic)] #![feature(in_band_lifetimes)] diff --git a/src/librustc_index/lib.rs b/src/librustc_index/lib.rs index 3effc4164501..6fef49668da5 100644 --- a/src/librustc_index/lib.rs +++ b/src/librustc_index/lib.rs @@ -1,5 +1,5 @@ #![feature(allow_internal_unstable)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_fn)] #![feature(const_panic)] #![feature(extend_one)] diff --git a/src/librustc_infer/lib.rs b/src/librustc_infer/lib.rs index 0f3f3db86795..27e086f1d500 100644 --- a/src/librustc_infer/lib.rs +++ b/src/librustc_infer/lib.rs @@ -17,7 +17,7 @@ #![feature(box_patterns)] #![feature(box_syntax)] #![feature(const_fn)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_panic)] #![feature(extend_one)] #![feature(never_type)] diff --git a/src/librustc_middle/lib.rs b/src/librustc_middle/lib.rs index 82dff60a26dc..676346fbebdd 100644 --- a/src/librustc_middle/lib.rs +++ b/src/librustc_middle/lib.rs @@ -27,7 +27,7 @@ #![feature(bool_to_option)] #![feature(box_patterns)] #![feature(box_syntax)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_fn)] #![feature(const_panic)] #![feature(const_transmute)] diff --git a/src/librustc_mir/lib.rs b/src/librustc_mir/lib.rs index 928d5bf88f2f..d64105f3b99c 100644 --- a/src/librustc_mir/lib.rs +++ b/src/librustc_mir/lib.rs @@ -10,7 +10,7 @@ Rust MIR: a lowered representation of Rust. #![feature(box_patterns)] #![feature(box_syntax)] #![feature(const_fn)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_loop)] #![feature(const_panic)] #![feature(crate_visibility_modifier)] diff --git a/src/librustc_mir_build/lib.rs b/src/librustc_mir_build/lib.rs index c6d65d56c93f..b44d8eee462f 100644 --- a/src/librustc_mir_build/lib.rs +++ b/src/librustc_mir_build/lib.rs @@ -4,7 +4,7 @@ #![feature(box_patterns)] #![feature(box_syntax)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_fn)] #![feature(const_panic)] #![feature(crate_visibility_modifier)] diff --git a/src/librustc_query_system/lib.rs b/src/librustc_query_system/lib.rs index 3afc4565933e..74a54176774c 100644 --- a/src/librustc_query_system/lib.rs +++ b/src/librustc_query_system/lib.rs @@ -1,6 +1,6 @@ #![feature(bool_to_option)] #![feature(const_fn)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_panic)] #![feature(core_intrinsics)] #![feature(hash_raw_entry)] diff --git a/src/librustc_span/lib.rs b/src/librustc_span/lib.rs index dcd2e83b7471..6dcb1430cdc1 100644 --- a/src/librustc_span/lib.rs +++ b/src/librustc_span/lib.rs @@ -6,7 +6,7 @@ #![doc(html_root_url = "https://doc.rust-lang.org/nightly/")] #![feature(crate_visibility_modifier)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_fn)] #![feature(const_panic)] #![feature(negative_impls)] diff --git a/src/librustc_target/lib.rs b/src/librustc_target/lib.rs index c2cdd2fd3ecf..ec6deb5b0595 100644 --- a/src/librustc_target/lib.rs +++ b/src/librustc_target/lib.rs @@ -9,7 +9,7 @@ #![doc(html_root_url = "https://doc.rust-lang.org/nightly/")] #![feature(bool_to_option)] -#![feature(const_if_match)] +#![cfg_attr(bootstrap, feature(const_if_match))] #![feature(const_fn)] #![feature(const_panic)] #![feature(nll)]