Skip to content
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

Add 1.82 release notes #131137

Merged
merged 5 commits into from
Oct 15, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,100 @@
Version 1.82.0 (2024-10-17)
==========================

<a id="1.82.0-Language"></a>

Language
--------
- [Don't make statement nonterminals match pattern nonterminals](https://github.com/rust-lang/rust/pull/120221/)
- [Implement lint against ambiguous negative literals](https://github.com/rust-lang/rust/pull/121364/)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [Patterns matching empty types can now be omitted in common cases](https://github.com/rust-lang/rust/pull/122792)
- [size_of_val_raw: for length 0 this is safe to call](https://github.com/rust-lang/rust/pull/126152/)
- [Reorder trait bound modifiers *after* `for<...>` binder in trait bounds](https://github.com/rust-lang/rust/pull/127054/)
lukas-code marked this conversation as resolved.
Show resolved Hide resolved
- [Stabilize opaque type precise capturing (RFC 3617)](https://github.com/rust-lang/rust/pull/127672)
- [Stabilize explicit opt-in to unsafe attributes](https://github.com/rust-lang/rust/pull/128771)


<a id="1.82.0-Compiler"></a>

Compiler
--------
- [Promote riscv64gc-unknown-linux-musl to tier 2](https://github.com/rust-lang/rust/pull/122049)
- [Improved diagnostics to explain why a pattern is unreachable](https://github.com/rust-lang/rust/pull/128034)
- [The compiler now triggers the unreachable code warning properly for async functions that don't return/are `-> !`](https://github.com/rust-lang/rust/pull/128443)
- [Promote `wasm32-wasip2` to Tier 2.](https://github.com/rust-lang/rust/pull/126967/)


<a id="1.82.0-Libraries"></a>

Libraries
---------
- [Implement DoubleEnded and ExactSize for Take<Repeat> and Take<RepeatWith>](https://github.com/rust-lang/rust/pull/106943/)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [Stabilize Wasm relaxed SIMD](https://github.com/rust-lang/rust/pull/117468/)
- [Stabilize const `{integer}::from_str_radix` i.e. `const_int_from_str`](https://github.com/rust-lang/rust/pull/124941/)
- [CommandExt::before_exec: deprecate safety in edition 2024](https://github.com/rust-lang/rust/pull/125970/)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [CloneToUninit impls](https://github.com/rust-lang/rust/pull/126877/)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [impl `Default` for collection iterators that don't already have it](https://github.com/rust-lang/rust/pull/128261/)


<a id="1.82.0-Stabilized-APIs"></a>

Stabilized APIs
---------------

<a id="1.82.0-Cargo"></a>

Cargo
-----
- [feat: Add `info` cargo subcommand](https://github.com/rust-lang/cargo/pull/14141/)

<a id="1.82.0-Compatibility-Notes"></a>

Compatibility Notes
-------------------
- [`addr_of(_mut)!` macros and the newly stabilized `&raw (const|mut)` are now safe to use with all static items](https://github.com/rust-lang/rust/pull/125834)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- We now [disallow setting some built-in cfgs via the command-line](https://github.com/rust-lang/rust/pull/126158) with the newly added [`explicit_builtin_cfgs_in_flags`](https://doc.rust-lang.org/rustc/lints/listing/deny-by-default.html#explicit-builtin-cfgs-in-flags) lint in order to prevent incoherent state, eg. `windows` cfg active but target is Linux based. The appropriate [`rustc` flag](https://doc.rust-lang.org/rustc/command-line-arguments.html) should be used instead.
- [Stabilize `&raw const` and `&raw mut` operators (RFC 2582)](https://github.com/rust-lang/rust/pull/127679)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [Stabilize unsafe extern blocks (RFC 3484)](https://github.com/rust-lang/rust/pull/127921)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- The standard library has a new implementation of `binary_search` which is significantly improves performance (#128254). However when a sorted slice has multiple values which compare equal, the new implementation may select a different value among the equal ones than the old implementation.
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [illumos/Solaris now sets `MSG_NOSIGNAL` when writing to sockets](https://github.com/rust-lang/rust/pull/128259). This avoids killing the process with SIGPIPE when writing to a closed socket, which matches the existing behavior on other UNIX targets.
- [Stabilize offset_of_nested](https://github.com/rust-lang/rust/pull/128284)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [Removes a problematic hack that always passed the --whole-archive linker flag for tests, which may cause linker errors for code accidentally relying on it.](https://github.com/rust-lang/rust/pull/128400)
- The WebAssembly target features `multivalue` and `reference-types` are now
both enabled by default. These two features both have subtle changes implied
for generated WebAssembly binaries. For the `multivalue` feature, WebAssembly
target support has changed when upgrading to LLVM 19. Support for generating
functions with multiple returns no longer works and
`-Ctarget-feature=+multivalue` has a different meaning than it did in LLVM 18
and prior. There is no longer any supported means to generate a module that has
a function with multiple returns in WebAssembly from Rust source code. For the
`reference-types` feature the encoding of immediates in the `call_indirect`, a
commonly used instruction by the WebAssembly backend, has changed. Validators
and parsers which don't understand the `reference-types` proposal will no
longer accept modules produced by LLVM due to this change in encoding of
immediates. Additionally these features being enabled are encoded in the
`target_features` custom section and may affect downstream tooling such as
`wasm-opt` consuming the module. Generating a WebAssembly module that disables
default features requires `-Zbuild-std` support from Cargo and more information
can be found at
[rust-lang/rust#128511](https://github.com/rust-lang/rust/pull/128511).
- [Stabilize `const` arguments to inline asm](https://github.com/rust-lang/rust/pull/128570)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [Promote aarch64-apple-darwin to Tier 1](https://github.com/rust-lang/rust/pull/128592)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [stabilize floating-point arithmetic in `const fn`](https://github.com/rust-lang/rust/pull/128596)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [float types: document NaN bit pattern guarantees](https://github.com/rust-lang/rust/pull/129559)
Mark-Simulacrum marked this conversation as resolved.
Show resolved Hide resolved
- [Rust now raises unsafety errors for union patterns in parameter-position](https://github.com/rust-lang/rust/pull/130531)


<a id="1.82.0-Internal-Changes"></a>

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.

- [Update to LLVM 19](https://github.com/rust-lang/rust/pull/127513)

Version 1.81.0 (2024-09-05)
==========================

Expand Down
Loading