Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 17c90d8

Browse files
committedJun 12, 2024
Auto merge of rust-lang#126273 - pietroalbini:pa-bootstrap-update, r=Mark-Simulacrum
Bump stage0 to 1.80.0 r? `@Mark-Simulacrum`
2 parents 027c82e + d8fe589 commit 17c90d8

31 files changed

+130
-197
lines changed
 

‎alloc/src/boxed.rs

+13-14
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,7 @@
145145
//! to `into_iter()` for boxed slices will defer to the slice implementation on editions before
146146
//! 2024:
147147
//!
148-
#![cfg_attr(bootstrap, doc = "```rust,edition2021,ignore")]
149-
#![cfg_attr(not(bootstrap), doc = "```rust,edition2021")]
148+
//! ```rust,edition2021
150149
//! // Rust 2015, 2018, and 2021:
151150
//!
152151
//! # #![allow(boxed_slice_into_iter)] // override our `deny(warnings)`
@@ -2123,23 +2122,23 @@ impl<I> FromIterator<I> for Box<[I]> {
21232122

21242123
/// This implementation is required to make sure that the `Box<[I]>: IntoIterator`
21252124
/// implementation doesn't overlap with `IntoIterator for T where T: Iterator` blanket.
2126-
#[stable(feature = "boxed_slice_into_iter", since = "CURRENT_RUSTC_VERSION")]
2125+
#[stable(feature = "boxed_slice_into_iter", since = "1.80.0")]
21272126
impl<I, A: Allocator> !Iterator for Box<[I], A> {}
21282127

21292128
/// This implementation is required to make sure that the `&Box<[I]>: IntoIterator`
21302129
/// implementation doesn't overlap with `IntoIterator for T where T: Iterator` blanket.
2131-
#[stable(feature = "boxed_slice_into_iter", since = "CURRENT_RUSTC_VERSION")]
2130+
#[stable(feature = "boxed_slice_into_iter", since = "1.80.0")]
21322131
impl<'a, I, A: Allocator> !Iterator for &'a Box<[I], A> {}
21332132

21342133
/// This implementation is required to make sure that the `&mut Box<[I]>: IntoIterator`
21352134
/// implementation doesn't overlap with `IntoIterator for T where T: Iterator` blanket.
2136-
#[stable(feature = "boxed_slice_into_iter", since = "CURRENT_RUSTC_VERSION")]
2135+
#[stable(feature = "boxed_slice_into_iter", since = "1.80.0")]
21372136
impl<'a, I, A: Allocator> !Iterator for &'a mut Box<[I], A> {}
21382137

21392138
// Note: the `#[rustc_skip_during_method_dispatch(boxed_slice)]` on `trait IntoIterator`
21402139
// hides this implementation from explicit `.into_iter()` calls on editions < 2024,
21412140
// so those calls will still resolve to the slice implementation, by reference.
2142-
#[stable(feature = "boxed_slice_into_iter", since = "CURRENT_RUSTC_VERSION")]
2141+
#[stable(feature = "boxed_slice_into_iter", since = "1.80.0")]
21432142
impl<I, A: Allocator> IntoIterator for Box<[I], A> {
21442143
type IntoIter = vec::IntoIter<I, A>;
21452144
type Item = I;
@@ -2148,7 +2147,7 @@ impl<I, A: Allocator> IntoIterator for Box<[I], A> {
21482147
}
21492148
}
21502149

2151-
#[stable(feature = "boxed_slice_into_iter", since = "CURRENT_RUSTC_VERSION")]
2150+
#[stable(feature = "boxed_slice_into_iter", since = "1.80.0")]
21522151
impl<'a, I, A: Allocator> IntoIterator for &'a Box<[I], A> {
21532152
type IntoIter = slice::Iter<'a, I>;
21542153
type Item = &'a I;
@@ -2157,7 +2156,7 @@ impl<'a, I, A: Allocator> IntoIterator for &'a Box<[I], A> {
21572156
}
21582157
}
21592158

2160-
#[stable(feature = "boxed_slice_into_iter", since = "CURRENT_RUSTC_VERSION")]
2159+
#[stable(feature = "boxed_slice_into_iter", since = "1.80.0")]
21612160
impl<'a, I, A: Allocator> IntoIterator for &'a mut Box<[I], A> {
21622161
type IntoIter = slice::IterMut<'a, I>;
21632162
type Item = &'a mut I;
@@ -2167,47 +2166,47 @@ impl<'a, I, A: Allocator> IntoIterator for &'a mut Box<[I], A> {
21672166
}
21682167

21692168
#[cfg(not(no_global_oom_handling))]
2170-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2169+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
21712170
impl FromIterator<char> for Box<str> {
21722171
fn from_iter<T: IntoIterator<Item = char>>(iter: T) -> Self {
21732172
String::from_iter(iter).into_boxed_str()
21742173
}
21752174
}
21762175

21772176
#[cfg(not(no_global_oom_handling))]
2178-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2177+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
21792178
impl<'a> FromIterator<&'a char> for Box<str> {
21802179
fn from_iter<T: IntoIterator<Item = &'a char>>(iter: T) -> Self {
21812180
String::from_iter(iter).into_boxed_str()
21822181
}
21832182
}
21842183

21852184
#[cfg(not(no_global_oom_handling))]
2186-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2185+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
21872186
impl<'a> FromIterator<&'a str> for Box<str> {
21882187
fn from_iter<T: IntoIterator<Item = &'a str>>(iter: T) -> Self {
21892188
String::from_iter(iter).into_boxed_str()
21902189
}
21912190
}
21922191

21932192
#[cfg(not(no_global_oom_handling))]
2194-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2193+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
21952194
impl FromIterator<String> for Box<str> {
21962195
fn from_iter<T: IntoIterator<Item = String>>(iter: T) -> Self {
21972196
String::from_iter(iter).into_boxed_str()
21982197
}
21992198
}
22002199

22012200
#[cfg(not(no_global_oom_handling))]
2202-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2201+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
22032202
impl<A: Allocator> FromIterator<Box<str, A>> for Box<str> {
22042203
fn from_iter<T: IntoIterator<Item = Box<str, A>>>(iter: T) -> Self {
22052204
String::from_iter(iter).into_boxed_str()
22062205
}
22072206
}
22082207

22092208
#[cfg(not(no_global_oom_handling))]
2210-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2209+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
22112210
impl<'a> FromIterator<Cow<'a, str>> for Box<str> {
22122211
fn from_iter<T: IntoIterator<Item = Cow<'a, str>>>(iter: T) -> Self {
22132212
String::from_iter(iter).into_boxed_str()

‎alloc/src/collections/binary_heap/mod.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -440,10 +440,7 @@ impl<T: Ord> BinaryHeap<T> {
440440
/// heap.push(4);
441441
/// ```
442442
#[stable(feature = "rust1", since = "1.0.0")]
443-
#[rustc_const_stable(
444-
feature = "const_binary_heap_constructor",
445-
since = "CURRENT_RUSTC_VERSION"
446-
)]
443+
#[rustc_const_stable(feature = "const_binary_heap_constructor", since = "1.80.0")]
447444
#[must_use]
448445
pub const fn new() -> BinaryHeap<T> {
449446
BinaryHeap { data: vec![] }
@@ -1224,7 +1221,7 @@ impl<T, A: Allocator> BinaryHeap<T, A> {
12241221
/// io::sink().write(heap.as_slice()).unwrap();
12251222
/// ```
12261223
#[must_use]
1227-
#[stable(feature = "binary_heap_as_slice", since = "CURRENT_RUSTC_VERSION")]
1224+
#[stable(feature = "binary_heap_as_slice", since = "1.80.0")]
12281225
pub fn as_slice(&self) -> &[T] {
12291226
self.data.as_slice()
12301227
}

‎alloc/src/ffi/c_str.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ impl From<&CStr> for Rc<CStr> {
911911
}
912912

913913
#[cfg(not(no_global_oom_handling))]
914-
#[stable(feature = "more_rc_default_impls", since = "CURRENT_RUSTC_VERSION")]
914+
#[stable(feature = "more_rc_default_impls", since = "1.80.0")]
915915
impl Default for Rc<CStr> {
916916
/// Creates an empty CStr inside an Rc
917917
///

‎alloc/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@
165165
//
166166
// Language features:
167167
// tidy-alphabetical-start
168-
#![cfg_attr(bootstrap, feature(exclusive_range_pattern))]
169168
#![cfg_attr(not(test), feature(coroutine_trait))]
170169
#![cfg_attr(test, feature(panic_update_hook))]
171170
#![cfg_attr(test, feature(test))]

‎alloc/src/rc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2250,7 +2250,7 @@ impl<T: Default> Default for Rc<T> {
22502250
}
22512251

22522252
#[cfg(not(no_global_oom_handling))]
2253-
#[stable(feature = "more_rc_default_impls", since = "CURRENT_RUSTC_VERSION")]
2253+
#[stable(feature = "more_rc_default_impls", since = "1.80.0")]
22542254
impl Default for Rc<str> {
22552255
/// Creates an empty str inside an Rc
22562256
///
@@ -2262,7 +2262,7 @@ impl Default for Rc<str> {
22622262
}
22632263

22642264
#[cfg(not(no_global_oom_handling))]
2265-
#[stable(feature = "more_rc_default_impls", since = "CURRENT_RUSTC_VERSION")]
2265+
#[stable(feature = "more_rc_default_impls", since = "1.80.0")]
22662266
impl<T> Default for Rc<[T]> {
22672267
/// Creates an empty `[T]` inside an Rc
22682268
///

‎alloc/src/sync.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -3405,7 +3405,7 @@ static STATIC_INNER_SLICE: SliceArcInnerForStatic = SliceArcInnerForStatic {
34053405
};
34063406

34073407
#[cfg(not(no_global_oom_handling))]
3408-
#[stable(feature = "more_rc_default_impls", since = "CURRENT_RUSTC_VERSION")]
3408+
#[stable(feature = "more_rc_default_impls", since = "1.80.0")]
34093409
impl Default for Arc<str> {
34103410
/// Creates an empty str inside an Arc
34113411
///
@@ -3420,7 +3420,7 @@ impl Default for Arc<str> {
34203420
}
34213421

34223422
#[cfg(not(no_global_oom_handling))]
3423-
#[stable(feature = "more_rc_default_impls", since = "CURRENT_RUSTC_VERSION")]
3423+
#[stable(feature = "more_rc_default_impls", since = "1.80.0")]
34243424
impl Default for Arc<core::ffi::CStr> {
34253425
/// Creates an empty CStr inside an Arc
34263426
///
@@ -3439,7 +3439,7 @@ impl Default for Arc<core::ffi::CStr> {
34393439
}
34403440

34413441
#[cfg(not(no_global_oom_handling))]
3442-
#[stable(feature = "more_rc_default_impls", since = "CURRENT_RUSTC_VERSION")]
3442+
#[stable(feature = "more_rc_default_impls", since = "1.80.0")]
34433443
impl<T> Default for Arc<[T]> {
34443444
/// Creates an empty `[T]` inside an Arc
34453445
///

‎alloc/src/vec/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2649,7 +2649,7 @@ impl<T, A: Allocator, const N: usize> Vec<[T; N], A> {
26492649
/// let mut flattened = vec.into_flattened();
26502650
/// assert_eq!(flattened.pop(), Some(6));
26512651
/// ```
2652-
#[stable(feature = "slice_flatten", since = "CURRENT_RUSTC_VERSION")]
2652+
#[stable(feature = "slice_flatten", since = "1.80.0")]
26532653
pub fn into_flattened(self) -> Vec<T, A> {
26542654
let (ptr, len, cap, alloc) = self.into_raw_parts_with_alloc();
26552655
let (new_len, new_cap) = if T::IS_ZST {

‎core/src/cell.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ use crate::ptr::{self, NonNull};
260260
mod lazy;
261261
mod once;
262262

263-
#[stable(feature = "lazy_cell", since = "CURRENT_RUSTC_VERSION")]
263+
#[stable(feature = "lazy_cell", since = "1.80.0")]
264264
pub use lazy::LazyCell;
265265
#[stable(feature = "once_cell", since = "1.70.0")]
266266
pub use once::OnceCell;

‎core/src/cell/lazy.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ enum State<T, F> {
3434
/// // 92
3535
/// // 92
3636
/// ```
37-
#[stable(feature = "lazy_cell", since = "CURRENT_RUSTC_VERSION")]
37+
#[stable(feature = "lazy_cell", since = "1.80.0")]
3838
pub struct LazyCell<T, F = fn() -> T> {
3939
state: UnsafeCell<State<T, F>>,
4040
}
@@ -54,8 +54,8 @@ impl<T, F: FnOnce() -> T> LazyCell<T, F> {
5454
/// assert_eq!(&*lazy, "HELLO, WORLD!");
5555
/// ```
5656
#[inline]
57-
#[stable(feature = "lazy_cell", since = "CURRENT_RUSTC_VERSION")]
58-
#[rustc_const_stable(feature = "lazy_cell", since = "CURRENT_RUSTC_VERSION")]
57+
#[stable(feature = "lazy_cell", since = "1.80.0")]
58+
#[rustc_const_stable(feature = "lazy_cell", since = "1.80.0")]
5959
pub const fn new(f: F) -> LazyCell<T, F> {
6060
LazyCell { state: UnsafeCell::new(State::Uninit(f)) }
6161
}
@@ -103,7 +103,7 @@ impl<T, F: FnOnce() -> T> LazyCell<T, F> {
103103
/// assert_eq!(&*lazy, &92);
104104
/// ```
105105
#[inline]
106-
#[stable(feature = "lazy_cell", since = "CURRENT_RUSTC_VERSION")]
106+
#[stable(feature = "lazy_cell", since = "1.80.0")]
107107
pub fn force(this: &LazyCell<T, F>) -> &T {
108108
// SAFETY:
109109
// This invalidates any mutable references to the data. The resulting
@@ -167,7 +167,7 @@ impl<T, F> LazyCell<T, F> {
167167
}
168168
}
169169

170-
#[stable(feature = "lazy_cell", since = "CURRENT_RUSTC_VERSION")]
170+
#[stable(feature = "lazy_cell", since = "1.80.0")]
171171
impl<T, F: FnOnce() -> T> Deref for LazyCell<T, F> {
172172
type Target = T;
173173
#[inline]
@@ -176,7 +176,7 @@ impl<T, F: FnOnce() -> T> Deref for LazyCell<T, F> {
176176
}
177177
}
178178

179-
#[stable(feature = "lazy_cell", since = "CURRENT_RUSTC_VERSION")]
179+
#[stable(feature = "lazy_cell", since = "1.80.0")]
180180
impl<T: Default> Default for LazyCell<T> {
181181
/// Creates a new lazy value using `Default` as the initializing function.
182182
#[inline]
@@ -185,7 +185,7 @@ impl<T: Default> Default for LazyCell<T> {
185185
}
186186
}
187187

188-
#[stable(feature = "lazy_cell", since = "CURRENT_RUSTC_VERSION")]
188+
#[stable(feature = "lazy_cell", since = "1.80.0")]
189189
impl<T: fmt::Debug, F> fmt::Debug for LazyCell<T, F> {
190190
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
191191
let mut d = f.debug_tuple("LazyCell");

‎core/src/future/async_drop.rs

-1
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,6 @@ async unsafe fn either<O: IntoFuture<Output = ()>, M: IntoFuture<Output = ()>, T
256256
}
257257
}
258258

259-
#[cfg(not(bootstrap))]
260259
#[lang = "async_drop_deferred_drop_in_place"]
261260
async unsafe fn deferred_drop_in_place<T>(to_drop: *mut T) {
262261
// SAFETY: same safety requirements as with drop_in_place (implied by

‎core/src/future/future.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ use crate::task::{Context, Poll};
3535
pub trait Future {
3636
/// The type of value produced on completion.
3737
#[stable(feature = "futures_api", since = "1.36.0")]
38-
#[cfg_attr(not(bootstrap), lang = "future_output")]
38+
#[lang = "future_output"]
3939
type Output;
4040

4141
/// Attempt to resolve the future to a final value, registering

‎core/src/intrinsics.rs

+5-6
Original file line numberDiff line numberDiff line change
@@ -986,7 +986,7 @@ pub const unsafe fn assume(b: bool) {
986986
#[unstable(feature = "core_intrinsics", issue = "none")]
987987
#[rustc_intrinsic]
988988
#[rustc_nounwind]
989-
#[cfg_attr(not(bootstrap), miri::intrinsic_fallback_is_spec)]
989+
#[miri::intrinsic_fallback_is_spec]
990990
pub const fn likely(b: bool) -> bool {
991991
b
992992
}
@@ -1006,7 +1006,7 @@ pub const fn likely(b: bool) -> bool {
10061006
#[unstable(feature = "core_intrinsics", issue = "none")]
10071007
#[rustc_intrinsic]
10081008
#[rustc_nounwind]
1009-
#[cfg_attr(not(bootstrap), miri::intrinsic_fallback_is_spec)]
1009+
#[miri::intrinsic_fallback_is_spec]
10101010
pub const fn unlikely(b: bool) -> bool {
10111011
b
10121012
}
@@ -2482,7 +2482,7 @@ extern "rust-intrinsic" {
24822482
#[rustc_nounwind]
24832483
#[rustc_do_not_const_check]
24842484
#[inline]
2485-
#[cfg_attr(not(bootstrap), miri::intrinsic_fallback_is_spec)]
2485+
#[miri::intrinsic_fallback_is_spec]
24862486
pub const fn ptr_guaranteed_cmp<T>(ptr: *const T, other: *const T) -> u8 {
24872487
(ptr == other) as u8
24882488
}
@@ -2747,7 +2747,7 @@ pub const fn ub_checks() -> bool {
27472747
#[unstable(feature = "core_intrinsics", issue = "none")]
27482748
#[rustc_nounwind]
27492749
#[rustc_intrinsic]
2750-
#[cfg_attr(not(bootstrap), miri::intrinsic_fallback_is_spec)]
2750+
#[miri::intrinsic_fallback_is_spec]
27512751
pub const unsafe fn const_allocate(_size: usize, _align: usize) -> *mut u8 {
27522752
// const eval overrides this function, but runtime code for now just returns null pointers.
27532753
// See <https://github.com/rust-lang/rust/issues/93935>.
@@ -2768,7 +2768,7 @@ pub const unsafe fn const_allocate(_size: usize, _align: usize) -> *mut u8 {
27682768
#[unstable(feature = "core_intrinsics", issue = "none")]
27692769
#[rustc_nounwind]
27702770
#[rustc_intrinsic]
2771-
#[cfg_attr(not(bootstrap), miri::intrinsic_fallback_is_spec)]
2771+
#[miri::intrinsic_fallback_is_spec]
27722772
pub const unsafe fn const_deallocate(_ptr: *mut u8, _size: usize, _align: usize) {
27732773
// Runtime NOP
27742774
}
@@ -2828,7 +2828,6 @@ impl<P: ?Sized, T: ptr::Thin> AggregateRawPtr<*mut T> for *mut P {
28282828
#[rustc_const_unstable(feature = "ptr_metadata", issue = "81513")]
28292829
#[rustc_intrinsic]
28302830
#[rustc_intrinsic_must_be_overridden]
2831-
#[cfg(not(bootstrap))]
28322831
pub const fn ptr_metadata<P: ptr::Pointee<Metadata = M> + ?Sized, M>(_ptr: *const P) -> M {
28332832
// To implement a fallback we'd have to assume the layout of the pointer,
28342833
// but the whole point of this intrinsic is that we shouldn't do that.

‎core/src/intrinsics/simd.rs

-1
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,6 @@ extern "rust-intrinsic" {
573573
///
574574
/// `T` must be a vector of integers.
575575
#[rustc_nounwind]
576-
#[cfg(not(bootstrap))]
577576
pub fn simd_ctpop<T>(x: T) -> T;
578577

579578
/// Count the trailing zeros of each element.

‎core/src/iter/traits/collect.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,7 @@ where
311311
label = "`{Self}` is not an iterator",
312312
message = "`{Self}` is not an iterator"
313313
)]
314-
#[cfg_attr(bootstrap, rustc_skip_array_during_method_dispatch)]
315-
#[cfg_attr(not(bootstrap), rustc_skip_during_method_dispatch(array, boxed_slice))]
314+
#[rustc_skip_during_method_dispatch(array, boxed_slice)]
316315
#[stable(feature = "rust1", since = "1.0.0")]
317316
pub trait IntoIterator {
318317
/// The type of the elements being iterated over.
There was a problem loading the remainder of the diff.

0 commit comments

Comments
 (0)
Failed to load comments.