Skip to content

Commit 45165c8

Browse files
committed
Auto merge of #139185 - BoxyUwU:beta, r=BoxyUwU
[beta] Prepare Rust 1.87.0 r? ghost
2 parents 2848101 + 2d814ae commit 45165c8

33 files changed

+150
-150
lines changed

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
@@ -244,7 +244,7 @@ declare_features! (
244244
/// Allows unnamed fields of struct and union type
245245
(removed, unnamed_fields, "1.83.0", Some(49804), Some("feature needs redesign")),
246246
(removed, unsafe_no_drop_flag, "1.0.0", None, None),
247-
(removed, unsized_tuple_coercion, "CURRENT_RUSTC_VERSION", Some(42877),
247+
(removed, unsized_tuple_coercion, "1.87.0", Some(42877),
248248
Some("The feature restricts possible layouts for tuples, and this restriction is not worth it.")),
249249
/// Allows `union` fields that don't implement `Copy` as long as they don't have any drop glue.
250250
(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
@@ -473,7 +473,7 @@ declare_features! (
473473
/// Allows `dyn* Trait` objects.
474474
(incomplete, dyn_star, "1.65.0", Some(102425)),
475475
/// Allows the .use postfix syntax `x.use` and use closures `use |x| { ... }`
476-
(incomplete, ergonomic_clones, "CURRENT_RUSTC_VERSION", Some(132290)),
476+
(incomplete, ergonomic_clones, "1.87.0", Some(132290)),
477477
/// Allows exhaustive pattern matching on types that contain uninhabited types.
478478
(unstable, exhaustive_patterns, "1.13.0", Some(51085)),
479479
/// Allows explicit tail calls via `become` expression.
@@ -510,7 +510,7 @@ declare_features! (
510510
/// Allows generic parameters and where-clauses on free & associated const items.
511511
(incomplete, generic_const_items, "1.73.0", Some(113521)),
512512
/// Allows the type of const generics to depend on generic parameters
513-
(incomplete, generic_const_parameter_types, "CURRENT_RUSTC_VERSION", Some(137626)),
513+
(incomplete, generic_const_parameter_types, "1.87.0", Some(137626)),
514514
/// Allows any generic constants being used as pattern type range ends
515515
(incomplete, generic_pattern_types, "1.86.0", Some(136574)),
516516
/// Allows registering static items globally, possibly across crates, to iterate over at runtime.
@@ -603,7 +603,7 @@ declare_features! (
603603
/// Allows macro attributes on expressions, statements and non-inline modules.
604604
(unstable, proc_macro_hygiene, "1.30.0", Some(54727)),
605605
/// Allows the use of raw-dylibs on ELF platforms
606-
(incomplete, raw_dylib_elf, "CURRENT_RUSTC_VERSION", Some(135694)),
606+
(incomplete, raw_dylib_elf, "1.87.0", Some(135694)),
607607
/// Makes `&` and `&mut` patterns eat only one layer of references in Rust 2024.
608608
(incomplete, ref_pat_eat_one_layer_2024, "1.79.0", Some(123076)),
609609
/// Makes `&` and `&mut` patterns eat only one layer of references in Rust 2024—structural variant
@@ -663,14 +663,14 @@ declare_features! (
663663
/// Allows using the `#[used(linker)]` (or `#[used(compiler)]`) attribute.
664664
(unstable, used_with_arg, "1.60.0", Some(93798)),
665665
/// Allows use of attributes in `where` clauses.
666-
(unstable, where_clause_attrs, "CURRENT_RUSTC_VERSION", Some(115590)),
666+
(unstable, where_clause_attrs, "1.87.0", Some(115590)),
667667
/// Allows use of x86 `AMX` target-feature attributes and intrinsics
668668
(unstable, x86_amx_intrinsics, "1.81.0", Some(126622)),
669669
/// Allows use of the `xop` target-feature
670670
(unstable, xop_target_feature, "1.81.0", Some(127208)),
671671
/// Allows `do yeet` expressions
672672
(unstable, yeet_expr, "1.62.0", Some(96373)),
673-
(unstable, yield_expr, "CURRENT_RUSTC_VERSION", Some(43122)),
673+
(unstable, yield_expr, "1.87.0", Some(43122)),
674674
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
675675
// Features are listed in alphabetical order. Tidy will fail if you don't keep it this way.
676676
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!

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/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
}
@@ -1425,7 +1425,7 @@ impl String {
14251425
#[inline]
14261426
#[must_use]
14271427
#[stable(feature = "rust1", since = "1.0.0")]
1428-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1428+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
14291429
pub const fn as_bytes(&self) -> &[u8] {
14301430
self.vec.as_slice()
14311431
}
@@ -1779,7 +1779,7 @@ impl String {
17791779
/// ```
17801780
#[inline]
17811781
#[stable(feature = "rust1", since = "1.0.0")]
1782-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1782+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
17831783
pub const unsafe fn as_mut_vec(&mut self) -> &mut Vec<u8> {
17841784
&mut self.vec
17851785
}
@@ -1801,7 +1801,7 @@ impl String {
18011801
#[inline]
18021802
#[must_use]
18031803
#[stable(feature = "rust1", since = "1.0.0")]
1804-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1804+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
18051805
#[rustc_confusables("length", "size")]
18061806
pub const fn len(&self) -> usize {
18071807
self.vec.len()
@@ -1821,7 +1821,7 @@ impl String {
18211821
#[inline]
18221822
#[must_use]
18231823
#[stable(feature = "rust1", since = "1.0.0")]
1824-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1824+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
18251825
pub const fn is_empty(&self) -> bool {
18261826
self.len() == 0
18271827
}
@@ -3140,7 +3140,7 @@ impl From<String> for Vec<u8> {
31403140
}
31413141
}
31423142

3143-
#[stable(feature = "try_from_vec_u8_for_string", since = "CURRENT_RUSTC_VERSION")]
3143+
#[stable(feature = "try_from_vec_u8_for_string", since = "1.87.0")]
31443144
impl TryFrom<Vec<u8>> for String {
31453145
type Error = FromUtf8Error;
31463146
/// 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 {

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

+9-9
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ use core::ptr::{self, NonNull};
6666
use core::slice::{self, SliceIndex};
6767
use core::{fmt, intrinsics};
6868

69-
#[stable(feature = "extract_if", since = "CURRENT_RUSTC_VERSION")]
69+
#[stable(feature = "extract_if", since = "1.87.0")]
7070
pub use self::extract_if::ExtractIf;
7171
use crate::alloc::{Allocator, Global};
7272
use crate::borrow::{Cow, ToOwned};
@@ -1267,7 +1267,7 @@ impl<T, A: Allocator> Vec<T, A> {
12671267
/// ```
12681268
#[inline]
12691269
#[stable(feature = "rust1", since = "1.0.0")]
1270-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1270+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
12711271
pub const fn capacity(&self) -> usize {
12721272
self.buf.capacity()
12731273
}
@@ -1582,7 +1582,7 @@ impl<T, A: Allocator> Vec<T, A> {
15821582
#[inline]
15831583
#[stable(feature = "vec_as_slice", since = "1.7.0")]
15841584
#[rustc_diagnostic_item = "vec_as_slice"]
1585-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1585+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
15861586
pub const fn as_slice(&self) -> &[T] {
15871587
// SAFETY: `slice::from_raw_parts` requires pointee is a contiguous, aligned buffer of size
15881588
// `len` containing properly-initialized `T`s. Data must not be mutated for the returned
@@ -1614,7 +1614,7 @@ impl<T, A: Allocator> Vec<T, A> {
16141614
#[inline]
16151615
#[stable(feature = "vec_as_slice", since = "1.7.0")]
16161616
#[rustc_diagnostic_item = "vec_as_mut_slice"]
1617-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1617+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
16181618
pub const fn as_mut_slice(&mut self) -> &mut [T] {
16191619
// SAFETY: `slice::from_raw_parts_mut` requires pointee is a contiguous, aligned buffer of
16201620
// size `len` containing properly-initialized `T`s. Data must not be accessed through any
@@ -1686,7 +1686,7 @@ impl<T, A: Allocator> Vec<T, A> {
16861686
/// [`as_ptr`]: Vec::as_ptr
16871687
/// [`as_non_null`]: Vec::as_non_null
16881688
#[stable(feature = "vec_as_ptr", since = "1.37.0")]
1689-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1689+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
16901690
#[rustc_never_returns_null_ptr]
16911691
#[rustc_as_ptr]
16921692
#[inline]
@@ -1749,7 +1749,7 @@ impl<T, A: Allocator> Vec<T, A> {
17491749
/// [`as_ptr`]: Vec::as_ptr
17501750
/// [`as_non_null`]: Vec::as_non_null
17511751
#[stable(feature = "vec_as_ptr", since = "1.37.0")]
1752-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
1752+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
17531753
#[rustc_never_returns_null_ptr]
17541754
#[rustc_as_ptr]
17551755
#[inline]
@@ -2700,7 +2700,7 @@ impl<T, A: Allocator> Vec<T, A> {
27002700
/// ```
27012701
#[inline]
27022702
#[stable(feature = "rust1", since = "1.0.0")]
2703-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
2703+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
27042704
#[rustc_confusables("length", "size")]
27052705
pub const fn len(&self) -> usize {
27062706
let len = self.len;
@@ -2726,7 +2726,7 @@ impl<T, A: Allocator> Vec<T, A> {
27262726
/// ```
27272727
#[stable(feature = "rust1", since = "1.0.0")]
27282728
#[rustc_diagnostic_item = "vec_is_empty"]
2729-
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
2729+
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
27302730
pub const fn is_empty(&self) -> bool {
27312731
self.len() == 0
27322732
}
@@ -3715,7 +3715,7 @@ impl<T, A: Allocator> Vec<T, A> {
37153715
/// assert_eq!(items, vec![0, 0, 0, 0, 0, 0, 0, 2, 2, 2]);
37163716
/// assert_eq!(ones.len(), 3);
37173717
/// ```
3718-
#[stable(feature = "extract_if", since = "CURRENT_RUSTC_VERSION")]
3718+
#[stable(feature = "extract_if", since = "1.87.0")]
37193719
pub fn extract_if<F, R>(&mut self, range: R, filter: F) -> ExtractIf<'_, T, F, A>
37203720
where
37213721
F: FnMut(&mut T) -> bool,

Diff for: library/core/src/char/methods.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ impl char {
337337
/// '1'.is_digit(1);
338338
/// ```
339339
#[stable(feature = "rust1", since = "1.0.0")]
340-
#[rustc_const_stable(feature = "const_char_classify", since = "CURRENT_RUSTC_VERSION")]
340+
#[rustc_const_stable(feature = "const_char_classify", since = "1.87.0")]
341341
#[inline]
342342
pub const fn is_digit(self, radix: u32) -> bool {
343343
self.to_digit(radix).is_some()
@@ -886,7 +886,7 @@ impl char {
886886
/// ```
887887
#[must_use]
888888
#[stable(feature = "rust1", since = "1.0.0")]
889-
#[rustc_const_stable(feature = "const_char_classify", since = "CURRENT_RUSTC_VERSION")]
889+
#[rustc_const_stable(feature = "const_char_classify", since = "1.87.0")]
890890
#[inline]
891891
pub const fn is_whitespace(self) -> bool {
892892
match self {

0 commit comments

Comments
 (0)