Skip to content

Commit 75ac3b6

Browse files
committed
Auto merge of #126220 - ferrocene:pa-beta-1.80.0, r=pietroalbini
[beta] Prepare Rust 1.80.0 r? `@ghost`
2 parents 804421d + 2ccb6e4 commit 75ac3b6

File tree

26 files changed

+248
-120
lines changed

26 files changed

+248
-120
lines changed

Diff for: RELEASES.md

+128
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,131 @@
1+
Version 1.79.0 (2024-06-13)
2+
==========================
3+
4+
<a id="1.79.0-Language"></a>
5+
6+
Language
7+
--------
8+
- [Stabilize inline `const {}` expressions.](https://github.com/rust-lang/rust/pull/104087/)
9+
- [Prevent opaque types being instantiated twice with different regions within the same function.](https://github.com/rust-lang/rust/pull/116935/)
10+
- [Stabilize WebAssembly target features that are in phase 4 and 5.](https://github.com/rust-lang/rust/pull/117457/)
11+
- [Add the `redundant_lifetimes` lint to detect lifetimes which are semantically redundant.](https://github.com/rust-lang/rust/pull/118391/)
12+
- [Stabilize the `unnameable_types` lint for public types that can't be named.](https://github.com/rust-lang/rust/pull/120144/)
13+
- [Enable debuginfo in macros, and stabilize `-C collapse-macro-debuginfo` and `#[collapse_debuginfo]`.](https://github.com/rust-lang/rust/pull/120845/)
14+
- [Propagate temporary lifetime extension into `if` and `match` expressions.](https://github.com/rust-lang/rust/pull/121346/)
15+
- [Restrict promotion of `const fn` calls.](https://github.com/rust-lang/rust/pull/121557/)
16+
- [Warn against refining impls of crate-private traits with `refining_impl_trait` lint.](https://github.com/rust-lang/rust/pull/121720/)
17+
- [Stabilize associated type bounds (RFC 2289).](https://github.com/rust-lang/rust/pull/122055/)
18+
- [Stabilize importing `main` from other modules or crates.](https://github.com/rust-lang/rust/pull/122060/)
19+
- [Check return types of function types for well-formedness](https://github.com/rust-lang/rust/pull/115538)
20+
- [Rework `impl Trait` lifetime inference](https://github.com/rust-lang/rust/pull/116891/)
21+
- [Change inductive trait solver cycles to be ambiguous](https://github.com/rust-lang/rust/pull/122791)
22+
23+
<a id="1.79.0-Compiler"></a>
24+
25+
Compiler
26+
--------
27+
- [Define `-C strip` to only affect binaries, not artifacts like `.pdb`.](https://github.com/rust-lang/rust/pull/115120/)
28+
- [Stabilize `-Crelro-level` for controlling runtime link hardening.](https://github.com/rust-lang/rust/pull/121694/)
29+
- [Stabilize checking of `cfg` names and values at compile-time with `--check-cfg`.](https://github.com/rust-lang/rust/pull/123501/)
30+
*Note that this only stabilizes the compiler part, the Cargo part is still unstable in this release.*
31+
- [Add `aarch64-apple-visionos` and `aarch64-apple-visionos-sim` tier 3 targets.](https://github.com/rust-lang/rust/pull/121419/)
32+
- [Add `riscv32ima-unknown-none-elf` tier 3 target.](https://github.com/rust-lang/rust/pull/122696/)
33+
- [Promote several Windows targets to tier 2](https://github.com/rust-lang/rust/pull/121712): `aarch64-pc-windows-gnullvm`, `i686-pc-windows-gnullvm`, and `x86_64-pc-windows-gnullvm`.
34+
35+
Refer to Rust's [platform support page][platform-support-doc]
36+
for more information on Rust's tiered platform support.
37+
38+
<a id="1.79.0-Libraries"></a>
39+
40+
Libraries
41+
---------
42+
43+
- [Implement `FromIterator` for `(impl Default + Extend, impl Default + Extend)`.](https://github.com/rust-lang/rust/pull/107462/)
44+
- [Implement `{Div,Rem}Assign<NonZero<X>>` on `X`.](https://github.com/rust-lang/rust/pull/121952/)
45+
- [Document overrides of `clone_from()` in core/std.](https://github.com/rust-lang/rust/pull/122201/)
46+
- [Link MSVC default lib in core.](https://github.com/rust-lang/rust/pull/122268/)
47+
- [Caution against using `transmute` between pointers and integers.](https://github.com/rust-lang/rust/pull/122379/)
48+
- [Enable frame pointers for the standard library.](https://github.com/rust-lang/rust/pull/122646/)
49+
50+
<a id="1.79.0-Stabilized-APIs"></a>
51+
52+
Stabilized APIs
53+
---------------
54+
55+
- [`{integer}::unchecked_add`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add)
56+
- [`{integer}::unchecked_mul`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul)
57+
- [`{integer}::unchecked_sub`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub)
58+
- [`<[T]>::split_at_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked)
59+
- [`<[T]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
60+
- [`<[u8]>::utf8_chunks`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8_chunks)
61+
- [`str::Utf8Chunks`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html)
62+
- [`str::Utf8Chunk`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html)
63+
- [`<*const T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned)
64+
- [`<*mut T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1)
65+
- [`NonNull::is_aligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned)
66+
- [`<*const [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len)
67+
- [`<*mut [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1)
68+
- [`<*const [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty)
69+
- [`<*mut [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1)
70+
- [`NonNull::<[T]>::is_empty`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty)
71+
- [`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)
72+
- [`io::Error::downcast`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast)
73+
- [`num::NonZero<T>`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html)
74+
- [`path::absolute`](https://doc.rust-lang.org/stable/std/path/fn.absolute.html)
75+
- [`proc_macro::Literal::byte_character`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character)
76+
- [`proc_macro::Literal::c_string`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string)
77+
78+
These APIs are now stable in const contexts:
79+
80+
- [`Atomic*::into_inner`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner)
81+
- [`io::Cursor::new`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new)
82+
- [`io::Cursor::get_ref`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref)
83+
- [`io::Cursor::position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position)
84+
- [`io::empty`](https://doc.rust-lang.org/stable/std/io/fn.empty.html)
85+
- [`io::repeat`](https://doc.rust-lang.org/stable/std/io/fn.repeat.html)
86+
- [`io::sink`](https://doc.rust-lang.org/stable/std/io/fn.sink.html)
87+
- [`panic::Location::caller`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller)
88+
- [`panic::Location::file`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file)
89+
- [`panic::Location::line`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line)
90+
- [`panic::Location::column`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column)
91+
92+
<a id="1.79.0-Cargo"></a>
93+
94+
Cargo
95+
-----
96+
97+
- [Prevent dashes in `lib.name`, always normalizing to `_`.](https://github.com/rust-lang/cargo/pull/12783/)
98+
- [Stabilize MSRV-aware version requirement selection in `cargo add`.](https://github.com/rust-lang/cargo/pull/13608/)
99+
- [Switch to using `gitoxide` by default for listing files.](https://github.com/rust-lang/cargo/pull/13696/)
100+
- [Error on `[project]` in Edition 2024; `cargo fix --edition` will change it to `[package]`.](https://github.com/rust-lang/cargo/pull/13747/)
101+
102+
<a id="1.79.0-Rustdoc"></a>
103+
104+
Rustdoc
105+
-----
106+
107+
- [Always display stability version even if it's the same as the containing item.](https://github.com/rust-lang/rust/pull/118441/)
108+
- [Show a single search result for items with multiple paths.](https://github.com/rust-lang/rust/pull/119912/)
109+
- [Support typing `/` in docs to begin a search.](https://github.com/rust-lang/rust/pull/123355/)
110+
111+
<a id="1.79.0-Misc"></a>
112+
113+
Misc
114+
----
115+
116+
<a id="1.79.0-Compatibility-Notes"></a>
117+
118+
Compatibility Notes
119+
-------------------
120+
121+
- [Update the minimum external LLVM to 17.](https://github.com/rust-lang/rust/pull/122649/)
122+
- [`RustcEncodable` and `RustcDecodable` are soft-destabilized, to be removed
123+
from the prelude in next edition.](https://github.com/rust-lang/rust/pull/116016/)
124+
- [The `wasm_c_abi` future-incompatibility lint will warn about use of the
125+
non-spec-compliant C ABI.](https://github.com/rust-lang/rust/pull/117918/)
126+
Use `wasm-bindgen v0.2.88` to generate forward-compatible bindings.
127+
- [Check return types of function types for well-formedness](https://github.com/rust-lang/rust/pull/115538)
128+
1129
Version 1.78.0 (2024-05-02)
2130
==========================
3131

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ declare_features! (
139139
/// Allows `crate` in paths.
140140
(accepted, crate_in_paths, "1.30.0", Some(45477)),
141141
/// Allows users to provide classes for fenced code block using `class:classname`.
142-
(accepted, custom_code_classes_in_docs, "CURRENT_RUSTC_VERSION", Some(79483)),
142+
(accepted, custom_code_classes_in_docs, "1.80.0", Some(79483)),
143143
/// Allows using `#[debugger_visualizer]` attribute.
144144
(accepted, debugger_visualizer, "1.71.0", Some(95939)),
145145
/// Allows rustc to inject a default alloc_error_handler
@@ -165,7 +165,7 @@ declare_features! (
165165
/// Allows using `dyn Trait` as a syntax for trait objects.
166166
(accepted, dyn_trait, "1.27.0", Some(44662)),
167167
/// Allows `X..Y` patterns.
168-
(accepted, exclusive_range_pattern, "CURRENT_RUSTC_VERSION", Some(37854)),
168+
(accepted, exclusive_range_pattern, "1.80.0", Some(37854)),
169169
/// Allows integer match exhaustiveness checking (RFC 2591).
170170
(accepted, exhaustive_integer_patterns, "1.33.0", Some(50907)),
171171
/// Allows explicit generic arguments specification with `impl Trait` present.

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ declare_features! (
457457
/// Allows explicit tail calls via `become` expression.
458458
(incomplete, explicit_tail_calls, "1.72.0", Some(112788)),
459459
/// Uses 2024 rules for matching `expr` fragments in macros. Also enables `expr_2021` fragment.
460-
(incomplete, expr_fragment_specifier_2024, "CURRENT_RUSTC_VERSION", Some(123742)),
460+
(incomplete, expr_fragment_specifier_2024, "1.80.0", Some(123742)),
461461
/// Allows using `efiapi`, `sysv64` and `win64` as calling convention
462462
/// for functions with varargs.
463463
(unstable, extended_varargs_abi_support, "1.65.0", Some(100189)),
@@ -488,7 +488,7 @@ declare_features! (
488488
/// Allows generic parameters and where-clauses on free & associated const items.
489489
(incomplete, generic_const_items, "1.73.0", Some(113521)),
490490
/// Allows registering static items globally, possibly across crates, to iterate over at runtime.
491-
(unstable, global_registration, "CURRENT_RUSTC_VERSION", Some(125119)),
491+
(unstable, global_registration, "1.80.0", Some(125119)),
492492
/// Allows using `..=X` as a patterns in slices.
493493
(unstable, half_open_range_patterns_in_slices, "1.66.0", Some(67264)),
494494
/// Allows `if let` guard in match arms.
@@ -579,7 +579,7 @@ declare_features! (
579579
(unstable, repr_simd, "1.4.0", Some(27731)),
580580
/// Allows enums like Result<T, E> to be used across FFI, if T's niche value can
581581
/// be used to describe E or vise-versa.
582-
(unstable, result_ffi_guarantees, "CURRENT_RUSTC_VERSION", Some(110503)),
582+
(unstable, result_ffi_guarantees, "1.80.0", Some(110503)),
583583
/// Allows bounding the return type of AFIT/RPITIT.
584584
(incomplete, return_type_notation, "1.70.0", Some(109417)),
585585
/// Allows `extern "rust-cold"`.
@@ -621,9 +621,9 @@ declare_features! (
621621
/// Allows unnamed fields of struct and union type
622622
(incomplete, unnamed_fields, "1.74.0", Some(49804)),
623623
/// Allows unsafe attributes.
624-
(unstable, unsafe_attributes, "CURRENT_RUSTC_VERSION", Some(123757)),
624+
(unstable, unsafe_attributes, "1.80.0", Some(123757)),
625625
/// Allows unsafe on extern declarations and safety qualifiers over internal items.
626-
(unstable, unsafe_extern_blocks, "CURRENT_RUSTC_VERSION", Some(123743)),
626+
(unstable, unsafe_extern_blocks, "1.80.0", Some(123743)),
627627
/// Allows unsized fn parameters.
628628
(unstable, unsized_fn_params, "1.49.0", Some(48055)),
629629
/// Allows unsized rvalues at arguments and parameters.

Diff for: compiler/rustc_lint/src/shadowed_into_iter.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ declare_lint! {
4949
///
5050
/// ### Explanation
5151
///
52-
/// Since Rust CURRENT_RUSTC_VERSION, boxed slices implement `IntoIterator`. However, to avoid
52+
/// Since Rust 1.80.0, boxed slices implement `IntoIterator`. However, to avoid
5353
/// breakage, `boxed_slice.into_iter()` in Rust 2015, 2018, and 2021 code will still
5454
/// behave as `(&boxed_slice).into_iter()`, returning an iterator over
55-
/// references, just like in Rust CURRENT_RUSTC_VERSION and earlier.
55+
/// references, just like in Rust 1.80.0 and earlier.
5656
/// This only applies to the method call syntax `boxed_slice.into_iter()`, not to
5757
/// any other syntax such as `for _ in boxed_slice` or `IntoIterator::into_iter(boxed_slice)`.
5858
pub BOXED_SLICE_INTO_ITER,

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

+12-12
Original file line numberDiff line numberDiff line change
@@ -2123,23 +2123,23 @@ impl<I> FromIterator<I> for Box<[I]> {
21232123

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

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

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

21392139
// Note: the `#[rustc_skip_during_method_dispatch(boxed_slice)]` on `trait IntoIterator`
21402140
// hides this implementation from explicit `.into_iter()` calls on editions < 2024,
21412141
// so those calls will still resolve to the slice implementation, by reference.
2142-
#[stable(feature = "boxed_slice_into_iter", since = "CURRENT_RUSTC_VERSION")]
2142+
#[stable(feature = "boxed_slice_into_iter", since = "1.80.0")]
21432143
impl<I, A: Allocator> IntoIterator for Box<[I], A> {
21442144
type IntoIter = vec::IntoIter<I, A>;
21452145
type Item = I;
@@ -2148,7 +2148,7 @@ impl<I, A: Allocator> IntoIterator for Box<[I], A> {
21482148
}
21492149
}
21502150

2151-
#[stable(feature = "boxed_slice_into_iter", since = "CURRENT_RUSTC_VERSION")]
2151+
#[stable(feature = "boxed_slice_into_iter", since = "1.80.0")]
21522152
impl<'a, I, A: Allocator> IntoIterator for &'a Box<[I], A> {
21532153
type IntoIter = slice::Iter<'a, I>;
21542154
type Item = &'a I;
@@ -2157,7 +2157,7 @@ impl<'a, I, A: Allocator> IntoIterator for &'a Box<[I], A> {
21572157
}
21582158
}
21592159

2160-
#[stable(feature = "boxed_slice_into_iter", since = "CURRENT_RUSTC_VERSION")]
2160+
#[stable(feature = "boxed_slice_into_iter", since = "1.80.0")]
21612161
impl<'a, I, A: Allocator> IntoIterator for &'a mut Box<[I], A> {
21622162
type IntoIter = slice::IterMut<'a, I>;
21632163
type Item = &'a mut I;
@@ -2167,47 +2167,47 @@ impl<'a, I, A: Allocator> IntoIterator for &'a mut Box<[I], A> {
21672167
}
21682168

21692169
#[cfg(not(no_global_oom_handling))]
2170-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2170+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
21712171
impl FromIterator<char> for Box<str> {
21722172
fn from_iter<T: IntoIterator<Item = char>>(iter: T) -> Self {
21732173
String::from_iter(iter).into_boxed_str()
21742174
}
21752175
}
21762176

21772177
#[cfg(not(no_global_oom_handling))]
2178-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2178+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
21792179
impl<'a> FromIterator<&'a char> for Box<str> {
21802180
fn from_iter<T: IntoIterator<Item = &'a char>>(iter: T) -> Self {
21812181
String::from_iter(iter).into_boxed_str()
21822182
}
21832183
}
21842184

21852185
#[cfg(not(no_global_oom_handling))]
2186-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2186+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
21872187
impl<'a> FromIterator<&'a str> for Box<str> {
21882188
fn from_iter<T: IntoIterator<Item = &'a str>>(iter: T) -> Self {
21892189
String::from_iter(iter).into_boxed_str()
21902190
}
21912191
}
21922192

21932193
#[cfg(not(no_global_oom_handling))]
2194-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2194+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
21952195
impl FromIterator<String> for Box<str> {
21962196
fn from_iter<T: IntoIterator<Item = String>>(iter: T) -> Self {
21972197
String::from_iter(iter).into_boxed_str()
21982198
}
21992199
}
22002200

22012201
#[cfg(not(no_global_oom_handling))]
2202-
#[stable(feature = "boxed_str_from_iter", since = "CURRENT_RUSTC_VERSION")]
2202+
#[stable(feature = "boxed_str_from_iter", since = "1.80.0")]
22032203
impl<A: Allocator> FromIterator<Box<str, A>> for Box<str> {
22042204
fn from_iter<T: IntoIterator<Item = Box<str, A>>>(iter: T) -> Self {
22052205
String::from_iter(iter).into_boxed_str()
22062206
}
22072207
}
22082208

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

Diff for: library/alloc/src/collections/binary_heap/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ impl<T: Ord> BinaryHeap<T> {
442442
#[stable(feature = "rust1", since = "1.0.0")]
443443
#[rustc_const_stable(
444444
feature = "const_binary_heap_constructor",
445-
since = "CURRENT_RUSTC_VERSION"
445+
since = "1.80.0"
446446
)]
447447
#[must_use]
448448
pub const fn new() -> BinaryHeap<T> {
@@ -1224,7 +1224,7 @@ impl<T, A: Allocator> BinaryHeap<T, A> {
12241224
/// io::sink().write(heap.as_slice()).unwrap();
12251225
/// ```
12261226
#[must_use]
1227-
#[stable(feature = "binary_heap_as_slice", since = "CURRENT_RUSTC_VERSION")]
1227+
#[stable(feature = "binary_heap_as_slice", since = "1.80.0")]
12281228
pub fn as_slice(&self) -> &[T] {
12291229
self.data.as_slice()
12301230
}

Diff for: library/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
///

Diff for: library/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
///

0 commit comments

Comments
 (0)