step cfg(bootstrap)
diff --git a/compiler/rustc_builtin_macros/src/lib.rs b/compiler/rustc_builtin_macros/src/lib.rs
index c77ff9e..5157bd4 100644
--- a/compiler/rustc_builtin_macros/src/lib.rs
+++ b/compiler/rustc_builtin_macros/src/lib.rs
@@ -5,7 +5,6 @@
#![allow(internal_features)]
#![allow(rustc::diagnostic_outside_of_impl)]
#![allow(rustc::untranslatable_diagnostic)]
-#![cfg_attr(bootstrap, feature(lint_reasons))]
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![doc(rust_logo)]
#![feature(assert_matches)]
diff --git a/compiler/rustc_const_eval/src/check_consts/check.rs b/compiler/rustc_const_eval/src/check_consts/check.rs
index 8700ec4..3ca47e4 100644
--- a/compiler/rustc_const_eval/src/check_consts/check.rs
+++ b/compiler/rustc_const_eval/src/check_consts/check.rs
@@ -635,10 +635,7 @@ fn visit_projection_elem(
trace!(
"visit_projection_elem: place_ref={:?} elem={:?} \
context={:?} location={:?}",
- place_ref,
- elem,
- context,
- location,
+ place_ref, elem, context, location,
);
self.super_projection_elem(place_ref, elem, context, location);
diff --git a/compiler/rustc_const_eval/src/interpret/operator.rs b/compiler/rustc_const_eval/src/interpret/operator.rs
index 2723507..9a66283 100644
--- a/compiler/rustc_const_eval/src/interpret/operator.rs
+++ b/compiler/rustc_const_eval/src/interpret/operator.rs
@@ -331,11 +331,7 @@ pub fn binary_op(
) -> InterpResult<'tcx, ImmTy<'tcx, M::Provenance>> {
trace!(
"Running binary op {:?}: {:?} ({}), {:?} ({})",
- bin_op,
- *left,
- left.layout.ty,
- *right,
- right.layout.ty
+ bin_op, *left, left.layout.ty, *right, right.layout.ty
);
match left.layout.ty.kind() {
diff --git a/compiler/rustc_const_eval/src/interpret/terminator.rs b/compiler/rustc_const_eval/src/interpret/terminator.rs
index 56d3dc9..f996d36 100644
--- a/compiler/rustc_const_eval/src/interpret/terminator.rs
+++ b/compiler/rustc_const_eval/src/interpret/terminator.rs
@@ -440,8 +440,7 @@ fn check_argument_compat(
} else {
trace!(
"check_argument_compat: incompatible ABIs:\ncaller: {:?}\ncallee: {:?}",
- caller_abi,
- callee_abi
+ caller_abi, callee_abi
);
return Ok(false);
}
diff --git a/compiler/rustc_data_structures/src/lib.rs b/compiler/rustc_data_structures/src/lib.rs
index 3f18b03..28b3aea 100644
--- a/compiler/rustc_data_structures/src/lib.rs
+++ b/compiler/rustc_data_structures/src/lib.rs
@@ -10,7 +10,6 @@
#![allow(internal_features)]
#![allow(rustc::default_hash_types)]
#![allow(rustc::potential_query_instability)]
-#![cfg_attr(bootstrap, feature(lint_reasons))]
#![cfg_attr(not(parallel_compiler), feature(cell_leak))]
#![deny(unsafe_op_in_unsafe_fn)]
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
diff --git a/compiler/rustc_lint_defs/src/builtin.rs b/compiler/rustc_lint_defs/src/builtin.rs
index 06d6a6c..2414a20 100644
--- a/compiler/rustc_lint_defs/src/builtin.rs
+++ b/compiler/rustc_lint_defs/src/builtin.rs
@@ -616,8 +616,6 @@
/// ### Example
///
/// ```rust
- /// #![cfg_attr(bootstrap, feature(lint_reasons))]
- ///
/// #[expect(unused_variables)]
/// let x = 10;
/// println!("{}", x);
diff --git a/compiler/rustc_parse/src/errors.rs b/compiler/rustc_parse/src/errors.rs
index 2e81d2a..6adfe3e 100644
--- a/compiler/rustc_parse/src/errors.rs
+++ b/compiler/rustc_parse/src/errors.rs
@@ -554,12 +554,7 @@ pub(crate) enum MissingInInForLoopSub {
code = "in"
)]
InNotOf(#[primary_span] Span),
- #[suggestion(
- parse_add_in,
- style = "verbose",
- applicability = "maybe-incorrect",
- code = " in "
- )]
+ #[suggestion(parse_add_in, style = "verbose", applicability = "maybe-incorrect", code = " in ")]
AddIn(#[primary_span] Span),
}
diff --git a/compiler/rustc_trait_selection/src/errors.rs b/compiler/rustc_trait_selection/src/errors.rs
index 0ee4485..0af38db 100644
--- a/compiler/rustc_trait_selection/src/errors.rs
+++ b/compiler/rustc_trait_selection/src/errors.rs
@@ -1585,10 +1585,7 @@ pub enum TypeErrorAdditionalDiags {
span: Span,
code: String,
},
- #[multipart_suggestion(
- trait_selection_meant_str_literal,
- applicability = "machine-applicable"
- )]
+ #[multipart_suggestion(trait_selection_meant_str_literal, applicability = "machine-applicable")]
MeantStrLiteral {
#[suggestion_part(code = "\"")]
start: Span,
diff --git a/compiler/rustc_ty_utils/src/layout.rs b/compiler/rustc_ty_utils/src/layout.rs
index 6045abc..ae3f72c 100644
--- a/compiler/rustc_ty_utils/src/layout.rs
+++ b/compiler/rustc_ty_utils/src/layout.rs
@@ -733,9 +733,7 @@ fn coroutine_saved_local_eligibility(
// point, so it is no longer a candidate.
trace!(
"removing local {:?} in >1 variant ({:?}, {:?})",
- local,
- variant_index,
- idx
+ local, variant_index, idx
);
ineligible_locals.insert(*local);
assignments[*local] = Ineligible(None);
diff --git a/library/alloc/src/lib.rs b/library/alloc/src/lib.rs
index 4903607..8c0caf9 100644
--- a/library/alloc/src/lib.rs
+++ b/library/alloc/src/lib.rs
@@ -165,7 +165,6 @@
//
// Language features:
// tidy-alphabetical-start
-#![cfg_attr(bootstrap, feature(c_unwind))]
#![cfg_attr(not(test), feature(coroutine_trait))]
#![cfg_attr(test, feature(panic_update_hook))]
#![cfg_attr(test, feature(test))]
diff --git a/library/core/src/char/methods.rs b/library/core/src/char/methods.rs
index 6b41540..08ae138 100644
--- a/library/core/src/char/methods.rs
+++ b/library/core/src/char/methods.rs
@@ -223,10 +223,7 @@ pub const fn from_u32(i: u32) -> Option<char> {
/// assert_eq!('❤', c);
/// ```
#[stable(feature = "assoc_char_funcs", since = "1.52.0")]
- #[rustc_const_stable(
- feature = "const_char_from_u32_unchecked",
- since = "1.81.0"
- )]
+ #[rustc_const_stable(feature = "const_char_from_u32_unchecked", since = "1.81.0")]
#[must_use]
#[inline]
pub const unsafe fn from_u32_unchecked(i: u32) -> char {
diff --git a/library/core/src/intrinsics.rs b/library/core/src/intrinsics.rs
index c4c6388..b219b70 100644
--- a/library/core/src/intrinsics.rs
+++ b/library/core/src/intrinsics.rs
@@ -1017,45 +1017,6 @@ pub const fn unlikely(b: bool) -> bool {
#[rustc_nounwind]
pub fn breakpoint();
- #[cfg(bootstrap)]
- #[rustc_const_stable(feature = "const_size_of", since = "1.40.0")]
- #[rustc_safe_intrinsic]
- #[rustc_nounwind]
- pub fn size_of<T>() -> usize;
-
- #[cfg(bootstrap)]
- #[rustc_const_stable(feature = "const_min_align_of", since = "1.40.0")]
- #[rustc_safe_intrinsic]
- #[rustc_nounwind]
- pub fn min_align_of<T>() -> usize;
-
- #[cfg(bootstrap)]
- #[rustc_const_unstable(feature = "const_pref_align_of", issue = "91971")]
- #[rustc_nounwind]
- pub fn pref_align_of<T>() -> usize;
-
- #[cfg(bootstrap)]
- #[rustc_const_unstable(feature = "const_size_of_val", issue = "46571")]
- #[rustc_nounwind]
- pub fn size_of_val<T: ?Sized>(_: *const T) -> usize;
-
- #[cfg(bootstrap)]
- #[rustc_const_unstable(feature = "const_align_of_val", issue = "46571")]
- #[rustc_nounwind]
- pub fn min_align_of_val<T: ?Sized>(_: *const T) -> usize;
-
- #[cfg(bootstrap)]
- #[rustc_const_unstable(feature = "const_type_name", issue = "63084")]
- #[rustc_safe_intrinsic]
- #[rustc_nounwind]
- pub fn type_name<T: ?Sized>() -> &'static str;
-
- #[cfg(bootstrap)]
- #[rustc_const_unstable(feature = "const_type_id", issue = "77125")]
- #[rustc_safe_intrinsic]
- #[rustc_nounwind]
- pub fn type_id<T: ?Sized + 'static>() -> u128;
-
/// A guard for unsafe functions that cannot ever be executed if `T` is uninhabited:
/// This will statically either panic, or do nothing.
///
@@ -2385,12 +2346,6 @@ pub const fn unlikely(b: bool) -> bool {
#[rustc_nounwind]
pub fn discriminant_value<T>(v: &T) -> <T as DiscriminantKind>::Discriminant;
- #[cfg(bootstrap)]
- #[rustc_const_unstable(feature = "variant_count", issue = "73662")]
- #[rustc_safe_intrinsic]
- #[rustc_nounwind]
- pub fn variant_count<T>() -> usize;
-
/// Rust's "try catch" construct for unwinding. Invokes the function pointer `try_fn` with the
/// data pointer `data`, and calls `catch_fn` if unwinding occurs while `try_fn` runs.
///
@@ -2768,7 +2723,6 @@ pub unsafe fn vtable_align(_ptr: *const ()) -> usize {
#[rustc_const_stable(feature = "const_size_of", since = "1.40.0")]
#[rustc_intrinsic]
#[rustc_intrinsic_must_be_overridden]
-#[cfg(not(bootstrap))]
pub const fn size_of<T>() -> usize {
unreachable!()
}
@@ -2786,7 +2740,6 @@ pub const fn size_of<T>() -> usize {
#[rustc_const_stable(feature = "const_min_align_of", since = "1.40.0")]
#[rustc_intrinsic]
#[rustc_intrinsic_must_be_overridden]
-#[cfg(not(bootstrap))]
pub const fn min_align_of<T>() -> usize {
unreachable!()
}
@@ -2800,7 +2753,6 @@ pub const fn min_align_of<T>() -> usize {
#[rustc_const_unstable(feature = "const_pref_align_of", issue = "91971")]
#[rustc_intrinsic]
#[rustc_intrinsic_must_be_overridden]
-#[cfg(not(bootstrap))]
pub const unsafe fn pref_align_of<T>() -> usize {
unreachable!()
}
@@ -2819,7 +2771,6 @@ pub const fn min_align_of<T>() -> usize {
#[rustc_const_unstable(feature = "variant_count", issue = "73662")]
#[rustc_intrinsic]
#[rustc_intrinsic_must_be_overridden]
-#[cfg(not(bootstrap))]
pub const fn variant_count<T>() -> usize {
unreachable!()
}
@@ -2836,7 +2787,6 @@ pub const fn variant_count<T>() -> usize {
#[rustc_const_unstable(feature = "const_size_of_val", issue = "46571")]
#[rustc_intrinsic]
#[rustc_intrinsic_must_be_overridden]
-#[cfg(not(bootstrap))]
pub const unsafe fn size_of_val<T: ?Sized>(_ptr: *const T) -> usize {
unreachable!()
}
@@ -2853,7 +2803,6 @@ pub const fn variant_count<T>() -> usize {
#[rustc_const_unstable(feature = "const_align_of_val", issue = "46571")]
#[rustc_intrinsic]
#[rustc_intrinsic_must_be_overridden]
-#[cfg(not(bootstrap))]
pub const unsafe fn min_align_of_val<T: ?Sized>(_ptr: *const T) -> usize {
unreachable!()
}
@@ -2871,7 +2820,6 @@ pub const fn variant_count<T>() -> usize {
#[rustc_const_unstable(feature = "const_type_name", issue = "63084")]
#[rustc_intrinsic]
#[rustc_intrinsic_must_be_overridden]
-#[cfg(not(bootstrap))]
pub const fn type_name<T: ?Sized>() -> &'static str {
unreachable!()
}
@@ -2891,7 +2839,6 @@ pub const fn type_name<T: ?Sized>() -> &'static str {
#[rustc_const_unstable(feature = "const_type_id", issue = "77125")]
#[rustc_intrinsic]
#[rustc_intrinsic_must_be_overridden]
-#[cfg(not(bootstrap))]
pub const fn type_id<T: ?Sized + 'static>() -> u128 {
unreachable!()
}
diff --git a/library/core/src/lib.rs b/library/core/src/lib.rs
index 9f0055d..42af20e 100644
--- a/library/core/src/lib.rs
+++ b/library/core/src/lib.rs
@@ -192,8 +192,6 @@
//
// Language features:
// tidy-alphabetical-start
-#![cfg_attr(bootstrap, feature(c_unwind))]
-#![cfg_attr(bootstrap, feature(effects))]
#![feature(abi_unadjusted)]
#![feature(adt_const_params)]
#![feature(allow_internal_unsafe)]
diff --git a/library/core/src/marker.rs b/library/core/src/marker.rs
index cf428e3..fcd8fa9 100644
--- a/library/core/src/marker.rs
+++ b/library/core/src/marker.rs
@@ -1061,7 +1061,6 @@ pub trait FnPtr: Copy + Clone {
}
/// Derive macro generating impls of traits related to smart pointers.
-#[cfg(not(bootstrap))]
#[rustc_builtin_macro]
#[allow_internal_unstable(dispatch_from_dyn, coerce_unsized, unsize)]
#[unstable(feature = "derive_smart_pointer", issue = "123430")]
@@ -1079,7 +1078,6 @@ pub trait FnPtr: Copy + Clone {
reason = "internal module for implementing effects"
)]
#[allow(missing_debug_implementations)] // these unit structs don't need `Debug` impls.
-#[cfg(not(bootstrap))]
pub mod effects {
#[lang = "EffectsNoRuntime"]
pub struct NoRuntime;
diff --git a/library/core/src/num/f128.rs b/library/core/src/num/f128.rs
index 05dc1e9..943ae3f 100644
--- a/library/core/src/num/f128.rs
+++ b/library/core/src/num/f128.rs
@@ -234,24 +234,20 @@ impl f128 {
/// This constant isn't guaranteed to equal to any specific NaN bitpattern,
/// and the stability of its representation over Rust versions
/// and target platforms isn't guaranteed.
- #[cfg(not(bootstrap))]
#[allow(clippy::eq_op)]
#[rustc_diagnostic_item = "f128_nan"]
#[unstable(feature = "f128", issue = "116909")]
pub const NAN: f128 = 0.0_f128 / 0.0_f128;
/// Infinity (∞).
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
pub const INFINITY: f128 = 1.0_f128 / 0.0_f128;
/// Negative infinity (−∞).
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
pub const NEG_INFINITY: f128 = -1.0_f128 / 0.0_f128;
/// Sign bit
- #[cfg(not(bootstrap))]
pub(crate) const SIGN_MASK: u128 = 0x8000_0000_0000_0000_0000_0000_0000_0000;
/// Exponent mask
@@ -261,11 +257,9 @@ impl f128 {
pub(crate) const MAN_MASK: u128 = 0x0000_ffff_ffff_ffff_ffff_ffff_ffff_ffff;
/// Minimum representable positive value (min subnormal)
- #[cfg(not(bootstrap))]
const TINY_BITS: u128 = 0x1;
/// Minimum representable negative value (min negative subnormal)
- #[cfg(not(bootstrap))]
const NEG_TINY_BITS: u128 = Self::TINY_BITS | Self::SIGN_MASK;
/// Returns `true` if this value is NaN.
@@ -284,7 +278,6 @@ impl f128 {
/// ```
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[allow(clippy::eq_op)] // > if you intended to check if the operand is NaN, use `.is_nan()` instead :)
pub const fn is_nan(self) -> bool {
@@ -295,7 +288,6 @@ pub const fn is_nan(self) -> bool {
// concerns about portability, so this implementation is for
// private use internally.
#[inline]
- #[cfg(not(bootstrap))]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub(crate) const fn abs_private(self) -> f128 {
// SAFETY: This transmutation is fine. Probably. For the reasons std is using it.
@@ -326,7 +318,6 @@ pub(crate) const fn abs_private(self) -> f128 {
/// ```
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn is_infinite(self) -> bool {
@@ -354,7 +345,6 @@ pub const fn is_infinite(self) -> bool {
/// ```
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn is_finite(self) -> bool {
@@ -389,7 +379,6 @@ pub const fn is_finite(self) -> bool {
/// [subnormal]: https://en.wikipedia.org/wiki/Denormal_number
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn is_subnormal(self) -> bool {
@@ -422,7 +411,6 @@ pub const fn is_subnormal(self) -> bool {
/// [subnormal]: https://en.wikipedia.org/wiki/Denormal_number
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn is_normal(self) -> bool {
@@ -448,7 +436,6 @@ pub const fn is_normal(self) -> bool {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn classify(self) -> FpCategory {
@@ -557,7 +544,6 @@ pub fn is_sign_negative(self) -> bool {
/// [`MIN`]: Self::MIN
/// [`MAX`]: Self::MAX
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
// #[unstable(feature = "float_next_up_down", issue = "91399")]
pub fn next_up(self) -> Self {
@@ -612,7 +598,6 @@ pub fn next_up(self) -> Self {
/// [`MIN`]: Self::MIN
/// [`MAX`]: Self::MAX
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
// #[unstable(feature = "float_next_up_down", issue = "91399")]
pub fn next_down(self) -> Self {
@@ -649,7 +634,6 @@ pub fn next_down(self) -> Self {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[must_use = "this returns the result of the operation, without modifying the original"]
pub fn recip(self) -> Self {
@@ -670,7 +654,6 @@ pub fn recip(self) -> Self {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[must_use = "this returns the result of the operation, without modifying the original"]
pub fn to_degrees(self) -> Self {
@@ -694,7 +677,6 @@ pub fn to_degrees(self) -> Self {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[must_use = "this returns the result of the operation, without modifying the original"]
pub fn to_radians(self) -> f128 {
@@ -1141,7 +1123,6 @@ fn rt_u128_to_f128(x: u128) -> f128 {
/// ```
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
pub fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
let mut left = self.to_bits() as i128;
@@ -1201,7 +1182,6 @@ pub fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f128", issue = "116909")]
#[must_use = "method returns a new number and does not mutate the original value"]
pub fn clamp(mut self, min: f128, max: f128) -> f128 {
diff --git a/library/core/src/num/f16.rs b/library/core/src/num/f16.rs
index 2a8ede9..6b77b10 100644
--- a/library/core/src/num/f16.rs
+++ b/library/core/src/num/f16.rs
@@ -229,24 +229,20 @@ impl f16 {
/// This constant isn't guaranteed to equal to any specific NaN bitpattern,
/// and the stability of its representation over Rust versions
/// and target platforms isn't guaranteed.
- #[cfg(not(bootstrap))]
#[allow(clippy::eq_op)]
#[rustc_diagnostic_item = "f16_nan"]
#[unstable(feature = "f16", issue = "116909")]
pub const NAN: f16 = 0.0_f16 / 0.0_f16;
/// Infinity (∞).
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
pub const INFINITY: f16 = 1.0_f16 / 0.0_f16;
/// Negative infinity (−∞).
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
pub const NEG_INFINITY: f16 = -1.0_f16 / 0.0_f16;
/// Sign bit
- #[cfg(not(bootstrap))]
pub(crate) const SIGN_MASK: u16 = 0x8000;
/// Exponent mask
@@ -256,11 +252,9 @@ impl f16 {
pub(crate) const MAN_MASK: u16 = 0x03ff;
/// Minimum representable positive value (min subnormal)
- #[cfg(not(bootstrap))]
const TINY_BITS: u16 = 0x1;
/// Minimum representable negative value (min negative subnormal)
- #[cfg(not(bootstrap))]
const NEG_TINY_BITS: u16 = Self::TINY_BITS | Self::SIGN_MASK;
/// Returns `true` if this value is NaN.
@@ -278,7 +272,6 @@ impl f16 {
/// ```
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[allow(clippy::eq_op)] // > if you intended to check if the operand is NaN, use `.is_nan()` instead :)
pub const fn is_nan(self) -> bool {
@@ -289,7 +282,6 @@ pub const fn is_nan(self) -> bool {
// concerns about portability, so this implementation is for
// private use internally.
#[inline]
- #[cfg(not(bootstrap))]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub(crate) const fn abs_private(self) -> f16 {
// SAFETY: This transmutation is fine. Probably. For the reasons std is using it.
@@ -317,7 +309,6 @@ pub(crate) const fn abs_private(self) -> f16 {
/// ```
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn is_infinite(self) -> bool {
@@ -344,7 +335,6 @@ pub const fn is_infinite(self) -> bool {
/// ```
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn is_finite(self) -> bool {
@@ -377,7 +367,6 @@ pub const fn is_finite(self) -> bool {
/// [subnormal]: https://en.wikipedia.org/wiki/Denormal_number
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn is_subnormal(self) -> bool {
@@ -408,7 +397,6 @@ pub const fn is_subnormal(self) -> bool {
/// [subnormal]: https://en.wikipedia.org/wiki/Denormal_number
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn is_normal(self) -> bool {
@@ -433,7 +421,6 @@ pub const fn is_normal(self) -> bool {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
pub const fn classify(self) -> FpCategory {
@@ -478,7 +465,6 @@ pub const fn classify(self) -> FpCategory {
/// but getting floats correct is important for not accidentally leaking const eval
/// runtime-deviating logic which may or may not be acceptable.
#[inline]
- #[cfg(not(bootstrap))]
#[rustc_const_unstable(feature = "const_float_classify", issue = "72505")]
const unsafe fn partial_classify(self) -> FpCategory {
// SAFETY: The caller is not asking questions for which this will tell lies.
@@ -593,7 +579,6 @@ pub fn is_sign_negative(self) -> bool {
/// [`MIN`]: Self::MIN
/// [`MAX`]: Self::MAX
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
// #[unstable(feature = "float_next_up_down", issue = "91399")]
pub fn next_up(self) -> Self {
@@ -648,7 +633,6 @@ pub fn next_up(self) -> Self {
/// [`MIN`]: Self::MIN
/// [`MAX`]: Self::MAX
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
// #[unstable(feature = "float_next_up_down", issue = "91399")]
pub fn next_down(self) -> Self {
@@ -685,7 +669,6 @@ pub fn next_down(self) -> Self {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[must_use = "this returns the result of the operation, without modifying the original"]
pub fn recip(self) -> Self {
@@ -706,7 +689,6 @@ pub fn recip(self) -> Self {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[must_use = "this returns the result of the operation, without modifying the original"]
pub fn to_degrees(self) -> Self {
@@ -730,7 +712,6 @@ pub fn to_degrees(self) -> Self {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[must_use = "this returns the result of the operation, without modifying the original"]
pub fn to_radians(self) -> f16 {
@@ -1167,7 +1148,6 @@ fn rt_u16_to_f16(x: u16) -> f16 {
/// ```
#[inline]
#[must_use]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
pub fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
let mut left = self.to_bits() as i16;
@@ -1226,7 +1206,6 @@ pub fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[unstable(feature = "f16", issue = "116909")]
#[must_use = "method returns a new number and does not mutate the original value"]
pub fn clamp(mut self, min: f16, max: f16) -> f16 {
diff --git a/library/core/src/ops/coroutine.rs b/library/core/src/ops/coroutine.rs
index 753f14c..13df888 100644
--- a/library/core/src/ops/coroutine.rs
+++ b/library/core/src/ops/coroutine.rs
@@ -76,7 +76,7 @@ pub trait Coroutine<R = ()> {
/// values which are allowed to be returned each time a coroutine yields.
/// For example an iterator-as-a-coroutine would likely have this type as
/// `T`, the type being iterated over.
- #[cfg_attr(not(bootstrap), lang = "coroutine_yield")]
+ #[lang = "coroutine_yield"]
type Yield;
/// The type of value this coroutine returns.
@@ -85,7 +85,7 @@ pub trait Coroutine<R = ()> {
/// `return` statement or implicitly as the last expression of a coroutine
/// literal. For example futures would use this as `Result<T, E>` as it
/// represents a completed future.
- #[cfg_attr(not(bootstrap), lang = "coroutine_return")]
+ #[lang = "coroutine_return"]
type Return;
/// Resumes the execution of this coroutine.
diff --git a/library/panic_abort/src/lib.rs b/library/panic_abort/src/lib.rs
index 14ba4af..dc2b42b 100644
--- a/library/panic_abort/src/lib.rs
+++ b/library/panic_abort/src/lib.rs
@@ -14,7 +14,6 @@
#![feature(std_internals)]
#![feature(staged_api)]
#![feature(rustc_attrs)]
-#![cfg_attr(bootstrap, feature(c_unwind))]
#![allow(internal_features)]
#[cfg(target_os = "android")]
diff --git a/library/panic_unwind/src/lib.rs b/library/panic_unwind/src/lib.rs
index 77abb91..2d174f4 100644
--- a/library/panic_unwind/src/lib.rs
+++ b/library/panic_unwind/src/lib.rs
@@ -24,7 +24,6 @@
#![feature(rustc_attrs)]
#![panic_runtime]
#![feature(panic_runtime)]
-#![cfg_attr(bootstrap, feature(c_unwind))]
// `real_imp` is unused with Miri, so silence warnings.
#![cfg_attr(miri, allow(dead_code))]
#![allow(internal_features)]
diff --git a/library/std/src/f128.rs b/library/std/src/f128.rs
index 0591c6f..089d972 100644
--- a/library/std/src/f128.rs
+++ b/library/std/src/f128.rs
@@ -53,7 +53,6 @@ pub fn powi(self, n: i32) -> f128 {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[rustc_allow_incoherent_impl]
#[unstable(feature = "f128", issue = "116909")]
#[must_use = "method returns a new number and does not mutate the original value"]
diff --git a/library/std/src/f128/tests.rs b/library/std/src/f128/tests.rs
index 0b3e485..95bdf6f 100644
--- a/library/std/src/f128/tests.rs
+++ b/library/std/src/f128/tests.rs
@@ -1,4 +1,3 @@
-#![cfg(not(bootstrap))]
// FIXME(f16_f128): only tested on platforms that have symbols and aren't buggy
#![cfg(reliable_f128)]
diff --git a/library/std/src/f16.rs b/library/std/src/f16.rs
index d485186..b2fe781 100644
--- a/library/std/src/f16.rs
+++ b/library/std/src/f16.rs
@@ -53,7 +53,6 @@ pub fn powi(self, n: i32) -> f16 {
/// # }
/// ```
#[inline]
- #[cfg(not(bootstrap))]
#[rustc_allow_incoherent_impl]
#[unstable(feature = "f16", issue = "116909")]
#[must_use = "method returns a new number and does not mutate the original value"]
diff --git a/library/std/src/f16/tests.rs b/library/std/src/f16/tests.rs
index 26658a0..3a1500c 100644
--- a/library/std/src/f16/tests.rs
+++ b/library/std/src/f16/tests.rs
@@ -1,4 +1,3 @@
-#![cfg(not(bootstrap))]
// FIXME(f16_f128): only tested on platforms that have symbols and aren't buggy
#![cfg(reliable_f16)]
diff --git a/library/std/src/lib.rs b/library/std/src/lib.rs
index 9fba657..02a720d 100644
--- a/library/std/src/lib.rs
+++ b/library/std/src/lib.rs
@@ -275,7 +275,6 @@
//
// Language features:
// tidy-alphabetical-start
-#![cfg_attr(bootstrap, feature(c_unwind))]
#![feature(alloc_error_handler)]
#![feature(allocator_internals)]
#![feature(allow_internal_unsafe)]
diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs
index 45a1c33..b3de71f 100644
--- a/library/unwind/src/lib.rs
+++ b/library/unwind/src/lib.rs
@@ -2,7 +2,6 @@
#![unstable(feature = "panic_unwind", issue = "32837")]
#![feature(link_cfg)]
#![feature(staged_api)]
-#![cfg_attr(bootstrap, feature(c_unwind))]
#![feature(strict_provenance)]
#![cfg_attr(target_arch = "wasm64", feature(simd_wasm64))]
#![cfg_attr(not(target_env = "msvc"), feature(libc))]
diff --git a/rustfmt.toml b/rustfmt.toml
index 8c1d3b9..9d4d689 100644
--- a/rustfmt.toml
+++ b/rustfmt.toml
@@ -22,8 +22,6 @@
"/tests/rustdoc-ui/", # Some have syntax errors, some are whitespace-sensitive.
"/tests/ui/", # Some have syntax errors, some are whitespace-sensitive.
"/tests/ui-fulldeps/", # Some are whitespace-sensitive (e.g. `// ~ERROR` comments).
- # #[cfg(bootstrap)] so that t-release sees this when they search for it
- "/tests/rustdoc-json/impl-trait-precise-capturing.rs",
# Do not format submodules.
# FIXME: sync submodule list with tidy/bootstrap/etc
diff --git a/src/bootstrap/src/bin/main.rs b/src/bootstrap/src/bin/main.rs
index a7d21ba..9fdbc4b 100644
--- a/src/bootstrap/src/bin/main.rs
+++ b/src/bootstrap/src/bin/main.rs
@@ -30,10 +30,7 @@ fn main() {
// Display PID of process holding the lock
// PID will be stored in a lock file
let lock_path = config.out.join("lock");
- let pid = match fs::read_to_string(&lock_path) {
- Ok(contents) => contents,
- Err(_) => String::new(),
- };
+ let pid = fs::read_to_string(&lock_path).unwrap_or_default();
build_lock = fd_lock::RwLock::new(t!(fs::OpenOptions::new()
.write(true)
diff --git a/src/tools/clippy/clippy_lints/src/lib.rs b/src/tools/clippy/clippy_lints/src/lib.rs
index 22d23a1..a388b6b 100644
--- a/src/tools/clippy/clippy_lints/src/lib.rs
+++ b/src/tools/clippy/clippy_lints/src/lib.rs
@@ -8,7 +8,6 @@
#![feature(iter_intersperse)]
#![feature(iter_partition_in_place)]
#![feature(let_chains)]
-#![cfg_attr(bootstrap, feature(lint_reasons))]
#![feature(never_type)]
#![feature(rustc_private)]
#![feature(stmt_expr_attributes)]
diff --git a/src/tools/clippy/clippy_utils/src/lib.rs b/src/tools/clippy/clippy_utils/src/lib.rs
index 3a9714c..1d5f1a2 100644
--- a/src/tools/clippy/clippy_utils/src/lib.rs
+++ b/src/tools/clippy/clippy_utils/src/lib.rs
@@ -5,7 +5,6 @@
#![feature(f16)]
#![feature(if_let_guard)]
#![feature(let_chains)]
-#![cfg_attr(bootstrap, feature(lint_reasons))]
#![feature(never_type)]
#![feature(rustc_private)]
#![feature(assert_matches)]
diff --git a/src/tools/clippy/src/driver.rs b/src/tools/clippy/src/driver.rs
index 9b1577f..3fafe24 100644
--- a/src/tools/clippy/src/driver.rs
+++ b/src/tools/clippy/src/driver.rs
@@ -2,7 +2,6 @@
#![allow(rustc::untranslatable_diagnostic)]
#![feature(rustc_private)]
#![feature(let_chains)]
-#![cfg_attr(bootstrap, feature(lint_reasons))]
#![cfg_attr(feature = "deny-warnings", deny(warnings))]
// warn on lints, that are included in `rust-lang/rust`s bootstrap
#![warn(rust_2018_idioms, unused_lifetimes)]
diff --git a/src/tools/miri/src/lib.rs b/src/tools/miri/src/lib.rs
index 7fb68d7..24909f2 100644
--- a/src/tools/miri/src/lib.rs
+++ b/src/tools/miri/src/lib.rs
@@ -10,7 +10,6 @@
#![feature(yeet_expr)]
#![feature(nonzero_ops)]
#![feature(let_chains)]
-#![cfg_attr(bootstrap, feature(lint_reasons))]
#![feature(trait_upcasting)]
#![feature(strict_overflow_ops)]
#![feature(is_none_or)]
diff --git a/src/tools/rust-analyzer/crates/salsa/tests/macros.rs b/src/tools/rust-analyzer/crates/salsa/tests/macros.rs
index 3d818e5..9b07740 100644
--- a/src/tools/rust-analyzer/crates/salsa/tests/macros.rs
+++ b/src/tools/rust-analyzer/crates/salsa/tests/macros.rs
@@ -5,6 +5,7 @@ trait MyDatabase: salsa::Database {
}
mod another_module {
+ #[allow(dead_code)]
pub(crate) fn another_name(_: &dyn crate::MyDatabase, (): ()) {}
}
diff --git a/tests/ui-fulldeps/internal-lints/non_glob_import_of_type_ir_inherent.rs b/tests/ui-fulldeps/internal-lints/non_glob_import_of_type_ir_inherent.rs
index 33e10a0..c761b8e 100644
--- a/tests/ui-fulldeps/internal-lints/non_glob_import_of_type_ir_inherent.rs
+++ b/tests/ui-fulldeps/internal-lints/non_glob_import_of_type_ir_inherent.rs
@@ -1,5 +1,4 @@
//@ compile-flags: -Z unstable-options
-//@ ignore-stage1 (can be removed after beta bump, #[cfg(bootstrap)])
#![feature(rustc_private)]
#![deny(rustc::non_glob_import_of_type_ir_inherent)]