Skip to content

Commit 6813f95

Browse files
committed
Auto merge of rust-lang#139279 - BoxyUwU:bump-boostrap, r=jieyouxu
Bump boostrap compiler to new beta try-job: `*msvc*`
2 parents 51548ce + 5a5bda5 commit 6813f95

File tree

65 files changed

+652
-790
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+652
-790
lines changed

Diff for: compiler/rustc_data_structures/src/obligation_forest/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ mod helper {
315315
use super::*;
316316
pub(super) type ObligationTreeIdGenerator = impl Iterator<Item = ObligationTreeId>;
317317
impl<O: ForestObligation> ObligationForest<O> {
318-
#[cfg_attr(not(bootstrap), define_opaque(ObligationTreeIdGenerator))]
318+
#[define_opaque(ObligationTreeIdGenerator)]
319319
pub fn new() -> ObligationForest<O> {
320320
ObligationForest {
321321
nodes: vec![],

Diff for: compiler/rustc_error_messages/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ pub type LazyFallbackBundle = Arc<LazyLock<FluentBundle, impl FnOnce() -> Fluent
208208

209209
/// Return the default `FluentBundle` with standard "en-US" diagnostic messages.
210210
#[instrument(level = "trace", skip(resources))]
211-
#[cfg_attr(not(bootstrap), define_opaque(LazyFallbackBundle))]
211+
#[define_opaque(LazyFallbackBundle)]
212212
pub fn fallback_fluent_bundle(
213213
resources: Vec<&'static str>,
214214
with_directionality_markers: bool,

Diff for: compiler/rustc_feature/src/accepted.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ declare_features! (
6363
/// Allows using `const` operands in inline assembly.
6464
(accepted, asm_const, "1.82.0", Some(93332)),
6565
/// Allows using `label` operands in inline assembly.
66-
(accepted, asm_goto, "CURRENT_RUSTC_VERSION", Some(119364)),
66+
(accepted, asm_goto, "1.87.0", Some(119364)),
6767
/// Allows using `sym` operands in inline assembly.
6868
(accepted, asm_sym, "1.66.0", Some(93333)),
6969
/// Allows the definition of associated constants in `trait` or `impl` blocks.
@@ -332,7 +332,7 @@ declare_features! (
332332
/// Allows `use<'a, 'b, A, B>` in `impl Trait + use<...>` for precise capture of generic args.
333333
(accepted, precise_capturing, "1.82.0", Some(123432)),
334334
/// Allows `use<..>` precise capturign on impl Trait in traits.
335-
(accepted, precise_capturing_in_traits, "CURRENT_RUSTC_VERSION", Some(130044)),
335+
(accepted, precise_capturing_in_traits, "1.87.0", Some(130044)),
336336
/// Allows procedural macros in `proc-macro` crates.
337337
(accepted, proc_macro, "1.29.0", Some(38356)),
338338
/// Allows multi-segment paths in attributes and derives.

Diff for: compiler/rustc_feature/src/removed.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ declare_features! (
247247
/// Allows unnamed fields of struct and union type
248248
(removed, unnamed_fields, "1.83.0", Some(49804), Some("feature needs redesign")),
249249
(removed, unsafe_no_drop_flag, "1.0.0", None, None),
250-
(removed, unsized_tuple_coercion, "CURRENT_RUSTC_VERSION", Some(42877),
250+
(removed, unsized_tuple_coercion, "1.87.0", Some(42877),
251251
Some("The feature restricts possible layouts for tuples, and this restriction is not worth it.")),
252252
/// Allows `union` fields that don't implement `Copy` as long as they don't have any drop glue.
253253
(removed, untagged_unions, "1.13.0", Some(55149),

Diff for: compiler/rustc_feature/src/unstable.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ declare_features! (
474474
/// Allows `dyn* Trait` objects.
475475
(incomplete, dyn_star, "1.65.0", Some(102425)),
476476
/// Allows the .use postfix syntax `x.use` and use closures `use |x| { ... }`
477-
(incomplete, ergonomic_clones, "CURRENT_RUSTC_VERSION", Some(132290)),
477+
(incomplete, ergonomic_clones, "1.87.0", Some(132290)),
478478
/// Allows exhaustive pattern matching on types that contain uninhabited types.
479479
(unstable, exhaustive_patterns, "1.13.0", Some(51085)),
480480
/// Allows explicit tail calls via `become` expression.
@@ -511,7 +511,7 @@ declare_features! (
511511
/// Allows generic parameters and where-clauses on free & associated const items.
512512
(incomplete, generic_const_items, "1.73.0", Some(113521)),
513513
/// Allows the type of const generics to depend on generic parameters
514-
(incomplete, generic_const_parameter_types, "CURRENT_RUSTC_VERSION", Some(137626)),
514+
(incomplete, generic_const_parameter_types, "1.87.0", Some(137626)),
515515
/// Allows any generic constants being used as pattern type range ends
516516
(incomplete, generic_pattern_types, "1.86.0", Some(136574)),
517517
/// Allows registering static items globally, possibly across crates, to iterate over at runtime.
@@ -602,7 +602,7 @@ declare_features! (
602602
/// Allows macro attributes on expressions, statements and non-inline modules.
603603
(unstable, proc_macro_hygiene, "1.30.0", Some(54727)),
604604
/// Allows the use of raw-dylibs on ELF platforms
605-
(incomplete, raw_dylib_elf, "CURRENT_RUSTC_VERSION", Some(135694)),
605+
(incomplete, raw_dylib_elf, "1.87.0", Some(135694)),
606606
/// Makes `&` and `&mut` patterns eat only one layer of references in Rust 2024.
607607
(incomplete, ref_pat_eat_one_layer_2024, "1.79.0", Some(123076)),
608608
/// Makes `&` and `&mut` patterns eat only one layer of references in Rust 2024—structural variant
@@ -664,14 +664,14 @@ declare_features! (
664664
/// Allows using the `#[used(linker)]` (or `#[used(compiler)]`) attribute.
665665
(unstable, used_with_arg, "1.60.0", Some(93798)),
666666
/// Allows use of attributes in `where` clauses.
667-
(unstable, where_clause_attrs, "CURRENT_RUSTC_VERSION", Some(115590)),
667+
(unstable, where_clause_attrs, "1.87.0", Some(115590)),
668668
/// Allows use of x86 `AMX` target-feature attributes and intrinsics
669669
(unstable, x86_amx_intrinsics, "1.81.0", Some(126622)),
670670
/// Allows use of the `xop` target-feature
671671
(unstable, xop_target_feature, "1.81.0", Some(127208)),
672672
/// Allows `do yeet` expressions
673673
(unstable, yeet_expr, "1.62.0", Some(96373)),
674-
(unstable, yield_expr, "CURRENT_RUSTC_VERSION", Some(43122)),
674+
(unstable, yield_expr, "1.87.0", Some(43122)),
675675
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
676676
// Features are listed in alphabetical order. Tidy will fail if you don't keep it this way.
677677
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!

Diff for: compiler/rustc_middle/src/mir/terminator.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ mod helper {
454454
/// Like [`SwitchTargets::target_for_value`], but returning the same type as
455455
/// [`Terminator::successors`].
456456
#[inline]
457-
#[cfg_attr(not(bootstrap), define_opaque(Successors))]
457+
#[define_opaque(Successors)]
458458
pub fn successors_for_value(&self, value: u128) -> Successors<'_> {
459459
let target = self.target_for_value(value);
460460
(&[]).into_iter().copied().chain(Some(target))
@@ -463,7 +463,7 @@ mod helper {
463463

464464
impl<'tcx> TerminatorKind<'tcx> {
465465
#[inline]
466-
#[cfg_attr(not(bootstrap), define_opaque(Successors))]
466+
#[define_opaque(Successors)]
467467
pub fn successors(&self) -> Successors<'_> {
468468
use self::TerminatorKind::*;
469469
match *self {
@@ -502,7 +502,7 @@ mod helper {
502502
}
503503

504504
#[inline]
505-
#[cfg_attr(not(bootstrap), define_opaque(SuccessorsMut))]
505+
#[define_opaque(SuccessorsMut)]
506506
pub fn successors_mut(&mut self) -> SuccessorsMut<'_> {
507507
use self::TerminatorKind::*;
508508
match *self {

Diff for: compiler/rustc_middle/src/query/erase.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ pub trait EraseType: Copy {
2525
pub type Erase<T: EraseType> = Erased<impl Copy>;
2626

2727
#[inline(always)]
28-
#[cfg_attr(not(bootstrap), define_opaque(Erase))]
28+
#[define_opaque(Erase)]
2929
pub fn erase<T: EraseType>(src: T) -> Erase<T> {
3030
// Ensure the sizes match
3131
const {
@@ -49,7 +49,7 @@ pub fn erase<T: EraseType>(src: T) -> Erase<T> {
4949

5050
/// Restores an erased value.
5151
#[inline(always)]
52-
#[cfg_attr(not(bootstrap), define_opaque(Erase))]
52+
#[define_opaque(Erase)]
5353
pub fn restore<T: EraseType>(value: Erase<T>) -> T {
5454
let value: Erased<<T as EraseType>::Result> = value;
5555
// See comment in `erase` for why we use `transmute_unchecked`.

Diff for: compiler/rustc_next_trait_solver/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
// tidy-alphabetical-start
88
#![allow(rustc::usage_of_type_ir_inherent)]
9-
#![cfg_attr(not(bootstrap), allow(rustc::usage_of_type_ir_traits))]
9+
#![allow(rustc::usage_of_type_ir_traits)]
1010
// tidy-alphabetical-end
1111

1212
pub mod canonicalizer;

Diff for: compiler/rustc_type_ir/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// tidy-alphabetical-start
22
#![allow(rustc::usage_of_ty_tykind)]
33
#![allow(rustc::usage_of_type_ir_inherent)]
4+
#![allow(rustc::usage_of_type_ir_traits)]
45
#![cfg_attr(
56
feature = "nightly",
67
feature(associated_type_defaults, never_type, rustc_attrs, negative_impls)
78
)]
89
#![cfg_attr(feature = "nightly", allow(internal_features))]
9-
#![cfg_attr(not(bootstrap), allow(rustc::usage_of_type_ir_traits))]
1010
// tidy-alphabetical-end
1111

1212
extern crate self as rustc_type_ir;

Diff for: library/alloc/src/alloc.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@ unsafe extern "Rust" {
1616
// otherwise.
1717
#[rustc_allocator]
1818
#[rustc_nounwind]
19-
#[cfg_attr(not(bootstrap), rustc_std_internal_symbol)]
19+
#[rustc_std_internal_symbol]
2020
fn __rust_alloc(size: usize, align: usize) -> *mut u8;
2121
#[rustc_deallocator]
2222
#[rustc_nounwind]
23-
#[cfg_attr(not(bootstrap), rustc_std_internal_symbol)]
23+
#[rustc_std_internal_symbol]
2424
fn __rust_dealloc(ptr: *mut u8, size: usize, align: usize);
2525
#[rustc_reallocator]
2626
#[rustc_nounwind]
27-
#[cfg_attr(not(bootstrap), rustc_std_internal_symbol)]
27+
#[rustc_std_internal_symbol]
2828
fn __rust_realloc(ptr: *mut u8, old_size: usize, align: usize, new_size: usize) -> *mut u8;
2929
#[rustc_allocator_zeroed]
3030
#[rustc_nounwind]
31-
#[cfg_attr(not(bootstrap), rustc_std_internal_symbol)]
31+
#[rustc_std_internal_symbol]
3232
fn __rust_alloc_zeroed(size: usize, align: usize) -> *mut u8;
3333

34-
#[cfg_attr(not(bootstrap), rustc_std_internal_symbol)]
34+
#[rustc_std_internal_symbol]
3535
static __rust_no_alloc_shim_is_unstable: u8;
3636
}
3737

@@ -360,7 +360,7 @@ unsafe extern "Rust" {
360360
// This is the magic symbol to call the global alloc error handler. rustc generates
361361
// it to call `__rg_oom` if there is a `#[alloc_error_handler]`, or to call the
362362
// default implementations below (`__rdl_oom`) otherwise.
363-
#[cfg_attr(not(bootstrap), rustc_std_internal_symbol)]
363+
#[rustc_std_internal_symbol]
364364
fn __rust_alloc_error_handler(size: usize, align: usize) -> !;
365365
}
366366

@@ -427,7 +427,7 @@ pub mod __alloc_error_handler {
427427
unsafe extern "Rust" {
428428
// This symbol is emitted by rustc next to __rust_alloc_error_handler.
429429
// Its value depends on the -Zoom={panic,abort} compiler option.
430-
#[cfg_attr(not(bootstrap), rustc_std_internal_symbol)]
430+
#[rustc_std_internal_symbol]
431431
static __rust_alloc_error_handler_should_panic: u8;
432432
}
433433

Diff for: library/alloc/src/boxed.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -952,7 +952,7 @@ impl<T, A: Allocator> Box<mem::MaybeUninit<T>, A> {
952952
/// assert_eq!(*x, i);
953953
/// }
954954
/// ```
955-
#[stable(feature = "box_uninit_write", since = "CURRENT_RUSTC_VERSION")]
955+
#[stable(feature = "box_uninit_write", since = "1.87.0")]
956956
#[inline]
957957
pub fn write(mut boxed: Self, value: T) -> Box<T, A> {
958958
unsafe {

Diff for: library/alloc/src/collections/btree/set_val.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ pub(super) struct SetValZST;
99
/// Returns `true` only for type `SetValZST`, `false` for all other types (blanket implementation).
1010
/// `TypeId` requires a `'static` lifetime, use of this trait avoids that restriction.
1111
///
12-
/// [`TypeId`]: std::any::TypeId
12+
/// [`TypeId`]: core::any::TypeId
1313
pub(super) trait IsSetVal {
1414
fn is_set_val() -> bool;
1515
}

Diff for: library/alloc/src/collections/linked_list.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1151,7 +1151,7 @@ impl<T, A: Allocator> LinkedList<T, A> {
11511151
/// assert_eq!(evens.into_iter().collect::<Vec<_>>(), vec![2, 4, 6, 8, 14]);
11521152
/// assert_eq!(odds.into_iter().collect::<Vec<_>>(), vec![1, 3, 5, 9, 11, 13, 15]);
11531153
/// ```
1154-
#[stable(feature = "extract_if", since = "CURRENT_RUSTC_VERSION")]
1154+
#[stable(feature = "extract_if", since = "1.87.0")]
11551155
pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>
11561156
where
11571157
F: FnMut(&mut T) -> bool,
@@ -1931,7 +1931,7 @@ impl<'a, T, A: Allocator> CursorMut<'a, T, A> {
19311931
}
19321932

19331933
/// An iterator produced by calling `extract_if` on LinkedList.
1934-
#[stable(feature = "extract_if", since = "CURRENT_RUSTC_VERSION")]
1934+
#[stable(feature = "extract_if", since = "1.87.0")]
19351935
#[must_use = "iterators are lazy and do nothing unless consumed"]
19361936
pub struct ExtractIf<
19371937
'a,
@@ -1946,7 +1946,7 @@ pub struct ExtractIf<
19461946
old_len: usize,
19471947
}
19481948

1949-
#[stable(feature = "extract_if", since = "CURRENT_RUSTC_VERSION")]
1949+
#[stable(feature = "extract_if", since = "1.87.0")]
19501950
impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
19511951
where
19521952
F: FnMut(&mut T) -> bool,
@@ -1975,7 +1975,7 @@ where
19751975
}
19761976
}
19771977

1978-
#[stable(feature = "extract_if", since = "CURRENT_RUSTC_VERSION")]
1978+
#[stable(feature = "extract_if", since = "1.87.0")]
19791979
impl<T: fmt::Debug, F> fmt::Debug for ExtractIf<'_, T, F> {
19801980
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
19811981
f.debug_tuple("ExtractIf").field(&self.list).finish()

Diff for: library/alloc/src/string.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -1043,7 +1043,7 @@ impl String {
10431043
#[inline]
10441044
#[must_use = "`self` will be dropped if the result is not used"]
10451045
#[stable(feature = "rust1", since = "1.0.0")]
1046-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1046+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
10471047
#[rustc_allow_const_fn_unstable(const_precise_live_drops)]
10481048
pub const fn into_bytes(self) -> Vec<u8> {
10491049
self.vec
@@ -1062,7 +1062,7 @@ impl String {
10621062
#[must_use]
10631063
#[stable(feature = "string_as_str", since = "1.7.0")]
10641064
#[rustc_diagnostic_item = "string_as_str"]
1065-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1065+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
10661066
pub const fn as_str(&self) -> &str {
10671067
// SAFETY: String contents are stipulated to be valid UTF-8, invalid contents are an error
10681068
// at construction.
@@ -1085,7 +1085,7 @@ impl String {
10851085
#[must_use]
10861086
#[stable(feature = "string_as_str", since = "1.7.0")]
10871087
#[rustc_diagnostic_item = "string_as_mut_str"]
1088-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1088+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
10891089
pub const fn as_mut_str(&mut self) -> &mut str {
10901090
// SAFETY: String contents are stipulated to be valid UTF-8, invalid contents are an error
10911091
// at construction.
@@ -1134,7 +1134,7 @@ impl String {
11341134
/// assert_eq!(string, "abcdecdeabecde");
11351135
/// ```
11361136
#[cfg(not(no_global_oom_handling))]
1137-
#[stable(feature = "string_extend_from_within", since = "CURRENT_RUSTC_VERSION")]
1137+
#[stable(feature = "string_extend_from_within", since = "1.87.0")]
11381138
pub fn extend_from_within<R>(&mut self, src: R)
11391139
where
11401140
R: RangeBounds<usize>,
@@ -1159,7 +1159,7 @@ impl String {
11591159
#[inline]
11601160
#[must_use]
11611161
#[stable(feature = "rust1", since = "1.0.0")]
1162-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1162+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
11631163
pub const fn capacity(&self) -> usize {
11641164
self.vec.capacity()
11651165
}
@@ -1428,7 +1428,7 @@ impl String {
14281428
#[inline]
14291429
#[must_use]
14301430
#[stable(feature = "rust1", since = "1.0.0")]
1431-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1431+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
14321432
pub const fn as_bytes(&self) -> &[u8] {
14331433
self.vec.as_slice()
14341434
}
@@ -1808,7 +1808,7 @@ impl String {
18081808
/// ```
18091809
#[inline]
18101810
#[stable(feature = "rust1", since = "1.0.0")]
1811-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1811+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
18121812
pub const unsafe fn as_mut_vec(&mut self) -> &mut Vec<u8> {
18131813
&mut self.vec
18141814
}
@@ -1830,7 +1830,7 @@ impl String {
18301830
#[inline]
18311831
#[must_use]
18321832
#[stable(feature = "rust1", since = "1.0.0")]
1833-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1833+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
18341834
#[rustc_confusables("length", "size")]
18351835
pub const fn len(&self) -> usize {
18361836
self.vec.len()
@@ -1850,7 +1850,7 @@ impl String {
18501850
#[inline]
18511851
#[must_use]
18521852
#[stable(feature = "rust1", since = "1.0.0")]
1853-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1853+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
18541854
pub const fn is_empty(&self) -> bool {
18551855
self.len() == 0
18561856
}
@@ -3169,7 +3169,7 @@ impl From<String> for Vec<u8> {
31693169
}
31703170
}
31713171

3172-
#[stable(feature = "try_from_vec_u8_for_string", since = "CURRENT_RUSTC_VERSION")]
3172+
#[stable(feature = "try_from_vec_u8_for_string", since = "1.87.0")]
31733173
impl TryFrom<Vec<u8>> for String {
31743174
type Error = FromUtf8Error;
31753175
/// Converts the given [`Vec<u8>`] into a [`String`] if it contains valid UTF-8 data.

Diff for: library/alloc/src/vec/extract_if.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use crate::alloc::{Allocator, Global};
1515
/// let mut v = vec![0, 1, 2];
1616
/// let iter: std::vec::ExtractIf<'_, _, _> = v.extract_if(.., |x| *x % 2 == 0);
1717
/// ```
18-
#[stable(feature = "extract_if", since = "CURRENT_RUSTC_VERSION")]
18+
#[stable(feature = "extract_if", since = "1.87.0")]
1919
#[derive(Debug)]
2020
#[must_use = "iterators are lazy and do nothing unless consumed"]
2121
pub struct ExtractIf<
@@ -57,7 +57,7 @@ impl<'a, T, F, A: Allocator> ExtractIf<'a, T, F, A> {
5757
}
5858
}
5959

60-
#[stable(feature = "extract_if", since = "CURRENT_RUSTC_VERSION")]
60+
#[stable(feature = "extract_if", since = "1.87.0")]
6161
impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
6262
where
6363
F: FnMut(&mut T) -> bool,
@@ -93,7 +93,7 @@ where
9393
}
9494
}
9595

96-
#[stable(feature = "extract_if", since = "CURRENT_RUSTC_VERSION")]
96+
#[stable(feature = "extract_if", since = "1.87.0")]
9797
impl<T, F, A: Allocator> Drop for ExtractIf<'_, T, F, A> {
9898
fn drop(&mut self) {
9999
unsafe {

0 commit comments

Comments
 (0)