-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Draft release notes for 1.88.0 #141598
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@rustbot ping relnotes-interest-group |
Hi relnotes-interest-group, this issue/PR could use some help in reviewing / cc @alex-semenyuk @jieyouxu @joshtriplett @Kobzol @lcnr @traviscross |
Reordered the lang items according to "excitingness" and added the |
This comment has been minimized.
This comment has been minimized.
Yes, please don't edit the issue manually as those changes will get lost. Instead the relnotes tracking issues should be edited and then the auto generated release notes will reflect the changes. Unfortunately I don't think we currently have a way to specify a desired ordering so it tends to just happen when the final relnotes are generated and merged |
This comment has been minimized.
This comment has been minimized.
How are we generating what ends up in the compatibility notes section? (Will that change be overwritten as well?) I don't see, e.g., a label for that. Regarding ordering, for when it gets overwritten, here is the order I'd suggest for the lang items:
|
All entries (including compat notes) are generated from the corresponding relnotes tracking issues. E.g. #140488 has a |
Got it, thanks. Updated the one for |
I did an edit pass over the current set of relnotes yesterday, relevant authors/reviewers may want to double-check for accuracy. |
Uh oh!
There was an error while loading. Please reload this page.
NOTE: We are trying this issue as a new way to work on the draft release notes.
Use the 📝 links to edit those that have a
relnotes-tracking-issue
,and they will be updated when we regenerate the notes periodically.
cc @rust-lang/release
Version 1.88.0 (2025-06-26)
Language
invalid_null_arguments
lint to prevent invalid usage of null pointers.This lint is uplifted from
clippy::invalid_null_ptr_usage
.📝
dangerous_implicit_autorefs
lint against implicit autoref of raw pointer dereference.The lint maybe be bumped to deny-by-default in a future version of Rust.
📝
#![feature(let_chains)]
in the 2024 edition.This feature allows
&&
-chaininglet
statements insideif
andwhile
, allowing intermixture with boolean expressions. The patterns inside thelet
sub-expressions can be irrefutable or refutable.📝
#![feature(naked_functions)]
.Naked functions allow writing functions with no compiler-generated epilogue and prologue, allowing full control over the generated assembly for a particular function.
📝
#[bench]
attribute. Usage of#[bench]
without#![feature(custom_test_frameworks)]
already triggered a deny-by-default future-incompatibility lint since Rust 1.77, but will now become a hard error.📝
📝
#![feature(cfg_boolean_literals)]
.This allows using boolean literals as
cfg
predicates, e.g.#[cfg(true)]
and#[cfg(false)]
.📝
📝
Compiler
-Cdwarf-version
for selecting the version of DWARF debug information to generate.📝
Platform Support
i686-pc-windows-gnu
to Tier 2.📝
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
#[should_panic]
test failure message.📝
[T; N]::from_fn
is generated in order of increasing indices., for those passing it a stateful closure.📝
--nocapture
is deprecated in favor of the more consistent--no-capture
flag.📝
{float}::NAN
is a quiet NaN.📝
ExtractIf
iterators have consistentDebug
implementations.📝
Stabilized APIs
Cell::update
📝
impl Default for *const T
impl Default for *mut T
📝
proc_macro::Span::line
proc_macro::Span::column
proc_macro::Span::start
proc_macro::Span::end
📝
proc_macro::Span::file
proc_macro::Span::local_file
📝
These previously stable APIs are now stable in const contexts:
NonNull<T>::replace
<*mut T>::replace
📝
std::ptr::swap_nonoverlapping
📝
Cell::{replace, get, get_mut, from_mut, as_slice_of_cells}
.📝
Cargo
zlib-rs
for gzip compression in rust codeRustdoc
ignore-*
attributes.--test-runtool
and--test-runtool-arg
CLI options to specify a program (like qemu) and its arguments to run a doctest.📝
Compatibility Notes
tt
fragment specifier can often fix these macros.📝
#[bench]
attribute. Usage of#[bench]
without#![feature(custom_test_frameworks)]
already triggered a deny-by-default future-incompatibility lint since Rust 1.77, but will now become a hard error.📝
The borrow checker was overly permissive in some cases, allowing programs that shouldn't have compiled.
📝
📝
📝
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.
Other
The text was updated successfully, but these errors were encountered: