From 01864e282a0d0e7f33d26220f23bde501186eb14 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 1 Mar 2024 09:24:33 -0800 Subject: [PATCH 1/6] Add release notes for 1.77.0 --- RELEASES.md | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/RELEASES.md b/RELEASES.md index 20e317a4d236a..e173a39bf9696 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,127 @@ +Version 1.77.0 (2024-03-21) +========================== + + + +Language +-------- + +- [Reveal opaque types within the defining body for exhaustiveness checking.](https://github.com/rust-lang/rust/pull/116821/) +- [Stabilize C-string literals.](https://github.com/rust-lang/rust/pull/117472/) +- [Stabilize THIR unsafeck.](https://github.com/rust-lang/rust/pull/117673/) +- [Support async recursive calls (as long as they have indirection).](https://github.com/rust-lang/rust/pull/117703/) +- [Get rid of type-driven traversal in const-eval interning.](https://github.com/rust-lang/rust/pull/119044/) +- [Deny braced macro invocations in let-else.](https://github.com/rust-lang/rust/pull/119062/) + + +- [error on incorrect implied bounds in wfcheck except for Bevy dependents](https://github.com/rust-lang/rust/pull/118553/) +- [Make inductive cycles in coherence ambiguous always](https://github.com/rust-lang/rust/pull/118649/) +- [fix fn/const items implied bounds and wf check (rebase)](https://github.com/rust-lang/rust/pull/120019/) + + + +Compiler +-------- + +- [Include lint `soft_unstable` in future breakage reports.](https://github.com/rust-lang/rust/pull/116274/) +- [Make `i128` and `u128` 16-byte aligned on x86-based targets.](https://github.com/rust-lang/rust/pull/116672/) +- [Add lint `static_mut_ref` to warn on references to mutable statics.](https://github.com/rust-lang/rust/pull/117556/) +- [Undeprecate lint `unstable_features` and make use of it in the compiler.](https://github.com/rust-lang/rust/pull/118639/) +- [Use `--verbose` in diagnostic output.](https://github.com/rust-lang/rust/pull/119129/) +- [Improve spacing between printed tokens.](https://github.com/rust-lang/rust/pull/120227/) +- [Merge the `unused_tuple_struct_fields` lint into `dead_code`.](https://github.com/rust-lang/rust/pull/118297/) +- [Fix coverage instrumentation/reports for non-ASCII source code.](https://github.com/rust-lang/rust/pull/119033/) +- [Promote `riscv32{im|imafc}-unknown-none-elf` targets to tier 2.](https://github.com/rust-lang/rust/pull/118704/) +- Add several new tier 3 targets: + - [`aarch64-unknown-illumos`](https://github.com/rust-lang/rust/pull/112936/) + - [`hexagon-unknown-none-elf`](https://github.com/rust-lang/rust/pull/117601/) + - [`riscv32imafc-esp-espidf`](https://github.com/rust-lang/rust/pull/119738/) + - [`riscv32im-risc0-zkvm-elf`](https://github.com/rust-lang/rust/pull/117958/) + +Refer to Rust's [platform support page][platform-support-doc] +for more information on Rust's tiered platform support. + + + +Libraries +--------- + +- [Implement `From<&[T; N]>` for `Cow<[T]>`.](https://github.com/rust-lang/rust/pull/113489/) +- [Remove special-case handling of `vec.split_off(0)`.](https://github.com/rust-lang/rust/pull/119917/) + + + +Stabilized APIs +--------------- + +- [`array::each_ref`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_ref) +- [`array::each_mut`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_mut) +- [`core::net`](https://doc.rust-lang.org/stable/core/net/index.html) +- [`f32::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.round_ties_even) +- [`f64::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.round_ties_even) +- [`mem::offset_of!`](https://doc.rust-lang.org/stable/std/mem/macro.offset_of.html) +- [`slice::first_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first_chunk) +- [`slice::first_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first_chunk_mut) +- [`slice::split_first_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first_chunk) +- [`slice::split_first_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first_chunk_mut) +- [`slice::last_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last_chunk) +- [`slice::last_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last_chunk_mut) +- [`slice::split_last_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last_chunk) +- [`slice::split_last_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last_chunk_mut) +- [`slice::chunk_by`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.chunk_by) +- [`slice::chunk_by_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.chunk_by_mut) +- [`Bound::map`](https://doc.rust-lang.org/stable/std/ops/enum.Bound.html#method.map) +- [`File::create_new`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.create_new) +- [`Mutex::clear_poison`](https://doc.rust-lang.org/stable/std/sync/struct.Mutex.html#method.clear_poison) +- [`RwLock::clear_poison`](https://doc.rust-lang.org/stable/std/sync/struct.RwLock.html#method.clear_poison) + + + +Cargo +----- + +- [Extend the build directive syntax with `cargo::`.](https://github.com/rust-lang/cargo/pull/12201/) +- [Stabilize metadata `id` format as `PackageIDSpec`.](https://github.com/rust-lang/cargo/pull/12914/) +- [Pull out as `cargo-util-schemas` as a crate.](https://github.com/rust-lang/cargo/pull/13178/) +- [Strip all debuginfo when debuginfo is not requested.](https://github.com/rust-lang/cargo/pull/13257/) +- [Inherit jobserver from env for all kinds of runners.](https://github.com/rust-lang/cargo/pull/12776/) +- [Deprecate rustc plugin support in cargo.](https://github.com/rust-lang/cargo/pull/13248/) + + + +Rustdoc +----- + +- [Allows links in markdown headings.](https://github.com/rust-lang/rust/pull/117662/) +- [Search for tuples and unit by type with `()`.](https://github.com/rust-lang/rust/pull/118194/) +- [Clean up the source sidebar's hide button.](https://github.com/rust-lang/rust/pull/119066/) +- [Prevent JS injection from `localStorage`.](https://github.com/rust-lang/rust/pull/120250/) + + + +Misc +---- + +- [Use version-sorting for all sorting.](https://github.com/rust-lang/rust/pull/115046/) + + + +Compatibility Notes +------------------- + + + + + +Internal Changes +---------------- + +These changes do not affect any public interfaces of Rust, but they represent +significant improvements to the performance or internals of rustc and related +tools. + +- [Add more weirdness to `weird-exprs.rs`.](https://github.com/rust-lang/rust/pull/119028/) + Version 1.76.0 (2024-02-08) ========================== From 0ac3d4df6d5b660e42ab829968f74bdfa7e3662b Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Sun, 17 Mar 2024 09:35:48 -0700 Subject: [PATCH 2/6] Apply suggestions from code review Co-authored-by: Urgau <3616612+Urgau@users.noreply.github.com> Co-authored-by: Michael Howell --- RELEASES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index e173a39bf9696..57fe92fd80ba1 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -25,7 +25,7 @@ Compiler - [Include lint `soft_unstable` in future breakage reports.](https://github.com/rust-lang/rust/pull/116274/) - [Make `i128` and `u128` 16-byte aligned on x86-based targets.](https://github.com/rust-lang/rust/pull/116672/) -- [Add lint `static_mut_ref` to warn on references to mutable statics.](https://github.com/rust-lang/rust/pull/117556/) +- [Add lint `static_mut_refs` to warn on references to mutable statics.](https://github.com/rust-lang/rust/pull/117556/) - [Undeprecate lint `unstable_features` and make use of it in the compiler.](https://github.com/rust-lang/rust/pull/118639/) - [Use `--verbose` in diagnostic output.](https://github.com/rust-lang/rust/pull/119129/) - [Improve spacing between printed tokens.](https://github.com/rust-lang/rust/pull/120227/) @@ -102,7 +102,7 @@ Rustdoc Misc ---- -- [Use version-sorting for all sorting.](https://github.com/rust-lang/rust/pull/115046/) +- [Recommend version-sorting for all sorting in style guide.](https://github.com/rust-lang/rust/pull/115046/) From 213e598fae81fee52327821bce83e544229f4006 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Sun, 17 Mar 2024 09:39:13 -0700 Subject: [PATCH 3/6] Move a couple issues to Language notes --- RELEASES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 57fe92fd80ba1..7ff3f4bf264ea 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -9,7 +9,9 @@ Language - [Reveal opaque types within the defining body for exhaustiveness checking.](https://github.com/rust-lang/rust/pull/116821/) - [Stabilize C-string literals.](https://github.com/rust-lang/rust/pull/117472/) - [Stabilize THIR unsafeck.](https://github.com/rust-lang/rust/pull/117673/) +- [Add lint `static_mut_refs` to warn on references to mutable statics.](https://github.com/rust-lang/rust/pull/117556/) - [Support async recursive calls (as long as they have indirection).](https://github.com/rust-lang/rust/pull/117703/) +- [Undeprecate lint `unstable_features` and make use of it in the compiler.](https://github.com/rust-lang/rust/pull/118639/) - [Get rid of type-driven traversal in const-eval interning.](https://github.com/rust-lang/rust/pull/119044/) - [Deny braced macro invocations in let-else.](https://github.com/rust-lang/rust/pull/119062/) @@ -25,8 +27,6 @@ Compiler - [Include lint `soft_unstable` in future breakage reports.](https://github.com/rust-lang/rust/pull/116274/) - [Make `i128` and `u128` 16-byte aligned on x86-based targets.](https://github.com/rust-lang/rust/pull/116672/) -- [Add lint `static_mut_refs` to warn on references to mutable statics.](https://github.com/rust-lang/rust/pull/117556/) -- [Undeprecate lint `unstable_features` and make use of it in the compiler.](https://github.com/rust-lang/rust/pull/118639/) - [Use `--verbose` in diagnostic output.](https://github.com/rust-lang/rust/pull/119129/) - [Improve spacing between printed tokens.](https://github.com/rust-lang/rust/pull/120227/) - [Merge the `unused_tuple_struct_fields` lint into `dead_code`.](https://github.com/rust-lang/rust/pull/118297/) From 4a2f0f6c995827a64ab690a0074f4d61e13251a2 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Sun, 17 Mar 2024 09:42:42 -0700 Subject: [PATCH 4/6] The const-eval change is now future-compat --- RELEASES.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 7ff3f4bf264ea..48058a1171ab4 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -12,7 +12,8 @@ Language - [Add lint `static_mut_refs` to warn on references to mutable statics.](https://github.com/rust-lang/rust/pull/117556/) - [Support async recursive calls (as long as they have indirection).](https://github.com/rust-lang/rust/pull/117703/) - [Undeprecate lint `unstable_features` and make use of it in the compiler.](https://github.com/rust-lang/rust/pull/118639/) -- [Get rid of type-driven traversal in const-eval interning.](https://github.com/rust-lang/rust/pull/119044/) +- [Get rid of type-driven traversal in const-eval interning](https://github.com/rust-lang/rust/pull/119044/), + only as a [future compatiblity lint](https://github.com/rust-lang/rust/pull/122204) for now. - [Deny braced macro invocations in let-else.](https://github.com/rust-lang/rust/pull/119062/) From 8953306016e5d42cd2882b94adf01cfd33d865b4 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Sun, 17 Mar 2024 09:46:23 -0700 Subject: [PATCH 5/6] No compatibility notes raised in 1.77.0 --- RELEASES.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 48058a1171ab4..870346018b9c2 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -105,13 +105,6 @@ Misc - [Recommend version-sorting for all sorting in style guide.](https://github.com/rust-lang/rust/pull/115046/) - - -Compatibility Notes -------------------- - - - Internal Changes From 87c9349e1b0306279736c7d34bd967086b12296b Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Sun, 17 Mar 2024 09:58:02 -0700 Subject: [PATCH 6/6] Sort the remaining T-types relnotes --- RELEASES.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 870346018b9c2..3f7814d184c66 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -12,15 +12,11 @@ Language - [Add lint `static_mut_refs` to warn on references to mutable statics.](https://github.com/rust-lang/rust/pull/117556/) - [Support async recursive calls (as long as they have indirection).](https://github.com/rust-lang/rust/pull/117703/) - [Undeprecate lint `unstable_features` and make use of it in the compiler.](https://github.com/rust-lang/rust/pull/118639/) +- [Make inductive cycles in coherence ambiguous always.](https://github.com/rust-lang/rust/pull/118649/) - [Get rid of type-driven traversal in const-eval interning](https://github.com/rust-lang/rust/pull/119044/), only as a [future compatiblity lint](https://github.com/rust-lang/rust/pull/122204) for now. - [Deny braced macro invocations in let-else.](https://github.com/rust-lang/rust/pull/119062/) - -- [error on incorrect implied bounds in wfcheck except for Bevy dependents](https://github.com/rust-lang/rust/pull/118553/) -- [Make inductive cycles in coherence ambiguous always](https://github.com/rust-lang/rust/pull/118649/) -- [fix fn/const items implied bounds and wf check (rebase)](https://github.com/rust-lang/rust/pull/120019/) - Compiler @@ -31,7 +27,10 @@ Compiler - [Use `--verbose` in diagnostic output.](https://github.com/rust-lang/rust/pull/119129/) - [Improve spacing between printed tokens.](https://github.com/rust-lang/rust/pull/120227/) - [Merge the `unused_tuple_struct_fields` lint into `dead_code`.](https://github.com/rust-lang/rust/pull/118297/) +- [Error on incorrect implied bounds in well-formedness check](https://github.com/rust-lang/rust/pull/118553/), + with a temporary exception for Bevy. - [Fix coverage instrumentation/reports for non-ASCII source code.](https://github.com/rust-lang/rust/pull/119033/) +- [Fix `fn`/`const` items implied bounds and well-formedness check.](https://github.com/rust-lang/rust/pull/120019/) - [Promote `riscv32{im|imafc}-unknown-none-elf` targets to tier 2.](https://github.com/rust-lang/rust/pull/118704/) - Add several new tier 3 targets: - [`aarch64-unknown-illumos`](https://github.com/rust-lang/rust/pull/112936/)