You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASES.md
+22-23Lines changed: 22 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -5,33 +5,31 @@ Version 1.83.0 (2024-11-28)
5
5
6
6
Language
7
7
--------
8
-
- [The `non_local_definitions` lint now uses a syntactic heuristic instead of type system based analysis](https://github.com/rust-lang/rust/pull/127117)
9
-
- [atomics: allow atomic and non-atomic reads to race](https://github.com/rust-lang/rust/pull/128778)
10
-
- [Non-exhaustive structs may be empty](https://github.com/rust-lang/rust/pull/128934/)
11
-
- [Check WF of source type's signature on fn pointer cast](https://github.com/rust-lang/rust/pull/129021)
12
-
- [Use equality when resolving type dependent paths](https://github.com/rust-lang/rust/pull/129073)
13
-
- [Stabilize `&mut` (and `*mut`) as well as `&Cell` (and `*const Cell`) in const](https://github.com/rust-lang/rust/pull/129195)
8
+
- [Implement raw lifetimes and labels (`'r#ident`).](https://github.com/rust-lang/rust/pull/126452)
9
+
- [The `non_local_definitions` lint now fires on less code and warns by default.](https://github.com/rust-lang/rust/pull/127117)
10
+
- [Define behavior when atomic and non-atomic reads race.](https://github.com/rust-lang/rust/pull/128778)
11
+
- [Non-exhaustive structs may now be empty.](https://github.com/rust-lang/rust/pull/128934)
12
+
- [Stabilize `&mut`, `*mut`, `&Cell`, and `*const Cell` in const.](https://github.com/rust-lang/rust/pull/129195)
14
13
- [Disallow implicit coercions from places of type `!`](https://github.com/rust-lang/rust/pull/129392)
15
14
- [`const extern` functions can now be defined for other calling conventions.](https://github.com/rust-lang/rust/pull/129753)
16
-
- [Allow creating references to statics in `const` initializers](https://github.com/rust-lang/rust/pull/129759)
15
+
- [Allow creating references to statics in `const` initializers.](https://github.com/rust-lang/rust/pull/129759)
17
16
- [Stabilize `expr_2021` macro fragment specifier in all editions.](https://github.com/rust-lang/rust/pull/129972)
18
17
19
18
20
19
<a id="1.83.0-Compiler"></a>
21
20
22
21
Compiler
23
22
--------
24
-
- [Implement raw lifetimes and labels (`'r#ident`)](https://github.com/rust-lang/rust/pull/126452/)
- [Fix a soundness bug where rustc wouldn't detect unconstrained higher-ranked lifetimes in a `dyn Trait`'s associated types that occur due to supertraits.](https://github.com/rust-lang/rust/pull/130367)
Refer to Rust's [platform support page][platform-support-doc]
37
35
for more information on Rust's tiered platform support.
@@ -41,13 +39,11 @@ for more information on Rust's tiered platform support.
41
39
42
40
Libraries
43
41
---------
44
-
- [Tracking Issue for `waker_getters`](https://github.com/rust-lang/rust/issues/96992/)
45
42
- [Implement `PartialEq` for `ExitCode`.](https://github.com/rust-lang/rust/pull/127633)
46
43
- [Document that `catch_unwind` can deal with foreign exceptions without UB, although the exact behavior is unspecified.](https://github.com/rust-lang/rust/pull/128321)
47
44
- [Implement `Default` for `HashMap`/`HashSet` iterators that don't already have it.](https://github.com/rust-lang/rust/pull/128711)
48
45
- [Bump Unicode to version 16.0.0.](https://github.com/rust-lang/rust/pull/130183)
49
46
- [Change documentation of `ptr::add`/`sub` to not claim equivalence with `offset`.](https://github.com/rust-lang/rust/pull/130229).
- [Warn against function pointers using unsupported ABI strings.](https://github.com/rust-lang/rust/pull/128784)
195
+
- [Check well-formedness of the source type's signature in fn pointer casts.](https://github.com/rust-lang/rust/pull/129021) This partly closes a soundness hole that comes when casting a function item to function pointer
196
+
- [Use equality instead of subtyping when resolving type dependent paths.](https://github.com/rust-lang/rust/pull/129073)
199
197
- Linking on macOS now correctly includes Rust's default deployment target. Due to a linker bug, you might have to pass `MACOSX_DEPLOYMENT_TARGET` or fix your `#[link]` attributes to point to the correct frameworks. See <https://github.com/rust-lang/rust/pull/129369>.
200
-
- [Rust will now correctly raise an error for `repr(Rust)` written on non-`struct`/`enum`/`union` items, since it previous did not have any effect](https://github.com/rust-lang/rust/pull/129422)
198
+
- [Rust will now correctly raise an error for `repr(Rust)` written on non-`struct`/`enum`/`union` items, since it previous did not have any effect.](https://github.com/rust-lang/rust/pull/129422)
201
199
- The future incompatibility lint `deprecated_cfg_attr_crate_type_name` [has been made into a hard error](https://github.com/rust-lang/rust/pull/129670). It was used to deny usage of `#![crate_type]` and `#![crate_name]` attributes in `#![cfg_attr]`, which required a hack in the compiler to be able to change the used crate type and crate name after cfg expansion.
202
200
Users can use `--crate-type` instead of `#![cfg_attr(..., crate_type = "...")]` and `--crate-name` instead of `#![cfg_attr(..., crate_name = "...")]` when running `rustc`/`cargo rustc` on the command line.
203
201
Use of those two attributes outside of `#![cfg_attr]` continue to be fully supported.
@@ -223,11 +221,12 @@ Compatibility Notes
223
221
To sanitize this, users must explicitly supply `--remap-path-prefix=<path to rust-src>=foo` or not have the `rust-src` component installed.
224
222
- The allow-by-default `missing_docs` lint used to disable itself when invoked through `rustc --test`/`cargo test`, resulting in `#[expect(missing_docs)]` emitting false positives due to the expectation being wrongly unfulfilled. This behavior [has now been removed](https://github.com/rust-lang/rust/pull/130025), which allows `#[expect(missing_docs)]` to be fulfilled in all scenarios, but will also report new `missing_docs` diagnostics for publicly reachable `#[cfg(test)]` items, [integration test](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#integration-tests) crate-level documentation, and publicly reachable items in integration tests.
225
223
- [The `armv8r-none-eabihf` target now uses the Armv8-R required set of floating-point features.](https://github.com/rust-lang/rust/pull/130295)
224
+
- [Fix a soundness bug where rustc wouldn't detect unconstrained higher-ranked lifetimes in a `dyn Trait`'s associated types that occur due to supertraits.](https://github.com/rust-lang/rust/pull/130367)
226
225
- [Update the minimum external LLVM version to 18.](https://github.com/rust-lang/rust/pull/130487)
227
226
- [Remove `aarch64-fuchsia` and `x86_64-fuchsia` target aliases in favor of `aarch64-unknown-fuchsia` and `x86_64-unknown-fuchsia` respectively.](https://github.com/rust-lang/rust/pull/130657)
228
-
- [The ABI-level exception class of a Rust panic is now encoded with native-endian bytes,
229
-
so it is legible in hex dumps.](https://github.com/rust-lang/rust/pull/130897)
227
+
- [The ABI-level exception class of a Rust panic is now encoded with native-endian bytes, so it is legible in hex dumps.](https://github.com/rust-lang/rust/pull/130897)
230
228
- [Visual Studio 2013 is no longer supported for MSVC targets.](https://github.com/rust-lang/rust/pull/131070)
229
+
- [The sysroot no longer contains the `std` dynamic library in its top-level `lib/` dir.](https://github.com/rust-lang/rust/pull/131188)
0 commit comments