Add release notes for 1.75.0
This commit is contained in:
parent
57ad5058d6
commit
add2bde887
125
RELEASES.md
125
RELEASES.md
@ -1,3 +1,128 @@
|
|||||||
|
Version 1.75.0 (2023-12-28)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
<a id="1.75.0-Language"></a>
|
||||||
|
|
||||||
|
Language
|
||||||
|
--------
|
||||||
|
|
||||||
|
- [Stabilize `async fn` and return-position `impl Trait` in traits.](https://github.com/rust-lang/rust/pull/115822/)
|
||||||
|
- [Allow function pointer signatures containing `&mut T` in `const` contexts.](https://github.com/rust-lang/rust/pull/116015/)
|
||||||
|
- [Guarantee that `char` has the same size and alignment as `u32`.](https://github.com/rust-lang/rust/pull/116894/)
|
||||||
|
- [Document that the null pointer has the 0 address.](https://github.com/rust-lang/rust/pull/116988/)
|
||||||
|
- [Allow partially moved values in `match`.](https://github.com/rust-lang/rust/pull/103208/)
|
||||||
|
- [Add notes about non-compliant FP behavior on 32bit x86 targets.](https://github.com/rust-lang/rust/pull/113053/)
|
||||||
|
- [Stabilize ratified RISC-V target features.](https://github.com/rust-lang/rust/pull/116485/)
|
||||||
|
|
||||||
|
<a id="1.75.0-Compiler"></a>
|
||||||
|
|
||||||
|
Compiler
|
||||||
|
--------
|
||||||
|
|
||||||
|
- [Match usize/isize exhaustively with half-open ranges.](https://github.com/rust-lang/rust/pull/116692/)
|
||||||
|
- [Rework negative coherence to properly consider impls that only partly overlap.](https://github.com/rust-lang/rust/pull/112875/)
|
||||||
|
- [Bump `COINDUCTIVE_OVERLAP_IN_COHERENCE` to deny, and warn in dependencies.](https://github.com/rust-lang/rust/pull/116493/)
|
||||||
|
- [Consider alias bounds when computing liveness in NLL.](https://github.com/rust-lang/rust/pull/116733/)
|
||||||
|
- [Add the V (vector) extension to the `riscv64-linux-android` target spec.](https://github.com/rust-lang/rust/pull/116618/)
|
||||||
|
- Add several new tier 3 targets:
|
||||||
|
- [`csky-unknown-linux-gnuabiv2hf`](https://github.com/rust-lang/rust/pull/117049/)
|
||||||
|
- [`i586-unknown-netbsd`](https://github.com/rust-lang/rust/pull/117170/)
|
||||||
|
- [`mipsel-unknown-netbsd`](https://github.com/rust-lang/rust/pull/117356/)
|
||||||
|
|
||||||
|
Refer to Rust's [platform support page][platform-support-doc]
|
||||||
|
for more information on Rust's tiered platform support.
|
||||||
|
|
||||||
|
<a id="1.75.0-Libraries"></a>
|
||||||
|
|
||||||
|
Libraries
|
||||||
|
---------
|
||||||
|
|
||||||
|
- [Override `Waker::clone_from` to avoid cloning `Waker`s unnecessarily.](https://github.com/rust-lang/rust/pull/96979/)
|
||||||
|
- [Implement `BufRead` for `VecDeque<u8>`.](https://github.com/rust-lang/rust/pull/110604/)
|
||||||
|
- [Implement `FusedIterator` for `DecodeUtf16` when the inner iterator does.](https://github.com/rust-lang/rust/pull/110729/)
|
||||||
|
- [Implement `Not, Bit{And,Or}{,Assign}` for IP addresses.](https://github.com/rust-lang/rust/pull/113747/)
|
||||||
|
- [Implement `Default` for `ExitCode`.](https://github.com/rust-lang/rust/pull/114589/)
|
||||||
|
- [Guarantee representation of None in NPO](https://github.com/rust-lang/rust/pull/115333/)
|
||||||
|
- [Don't panic in `<BorrowedCursor as io::Write>::write`](https://github.com/rust-lang/rust/pull/115460/)
|
||||||
|
- [Document when atomic loads are guaranteed read-only.](https://github.com/rust-lang/rust/pull/115577/)
|
||||||
|
- [Broaden the consequences of recursive TLS initialization.](https://github.com/rust-lang/rust/pull/116172/)
|
||||||
|
- [Windows: Support sub-millisecond sleep.](https://github.com/rust-lang/rust/pull/116461/)
|
||||||
|
- [Fix generic bound of `str::SplitInclusive`'s `DoubleEndedIterator` impl](https://github.com/rust-lang/rust/pull/100806/)
|
||||||
|
- [Fix exit status / wait status on non-Unix `cfg(unix)` platforms.](https://github.com/rust-lang/rust/pull/115108/)
|
||||||
|
|
||||||
|
<a id="1.75.0-Stabilized-APIs"></a>
|
||||||
|
|
||||||
|
Stabilized APIs
|
||||||
|
---------------
|
||||||
|
|
||||||
|
- [`Atomic*::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.from_ptr)
|
||||||
|
- [`FileTimes`](https://doc.rust-lang.org/stable/std/fs/struct.FileTimes.html)
|
||||||
|
- [`FileTimesExt`](https://doc.rust-lang.org/stable/std/os/windows/fs/trait.FileTimesExt.html)
|
||||||
|
- [`File::set_modified`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.set_modified)
|
||||||
|
- [`File::set_times`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.set_times)
|
||||||
|
- [`IpAddr::to_canonical`](https://doc.rust-lang.org/stable/core/net/enum.IpAddr.html#method.to_canonical)
|
||||||
|
- [`Ipv6Addr::to_canonical`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.to_canonical)
|
||||||
|
- [`Option::as_slice`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_slice)
|
||||||
|
- [`Option::as_mut_slice`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_mut_slice)
|
||||||
|
- [`pointer::byte_add`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_add)
|
||||||
|
- [`pointer::byte_offset`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_offset)
|
||||||
|
- [`pointer::byte_offset_from`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_offset_from)
|
||||||
|
- [`pointer::byte_sub`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_sub)
|
||||||
|
- [`pointer::wrapping_byte_add`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_add)
|
||||||
|
- [`pointer::wrapping_byte_offset`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_offset)
|
||||||
|
- [`pointer::wrapping_byte_sub`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_sub)
|
||||||
|
|
||||||
|
These APIs are now stable in const contexts:
|
||||||
|
|
||||||
|
- [`Ipv6Addr::to_ipv4_mapped`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.to_ipv4_mapped)
|
||||||
|
- [`MaybeUninit::assume_init_read`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.assume_init_read)
|
||||||
|
- [`MaybeUninit::zeroed`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.zeroed)
|
||||||
|
- [`mem::discriminant`](https://doc.rust-lang.org/stable/core/mem/fn.discriminant.html)
|
||||||
|
- [`mem::zeroed`](https://doc.rust-lang.org/stable/core/mem/fn.zeroed.html)
|
||||||
|
|
||||||
|
<a id="1.75.0-Cargo"></a>
|
||||||
|
|
||||||
|
Cargo
|
||||||
|
-----
|
||||||
|
|
||||||
|
- [Add new packages to `[workspace.members]` automatically.](https://github.com/rust-lang/cargo/pull/12779/)
|
||||||
|
- [Allow version-less `Cargo.toml` manifests.](https://github.com/rust-lang/cargo/pull/12786/)
|
||||||
|
- [Make browser links out of HTML file paths.](https://github.com/rust-lang/cargo/pull/12889)
|
||||||
|
|
||||||
|
<a id="1.75.0-Rustdoc"></a>
|
||||||
|
|
||||||
|
Rustdoc
|
||||||
|
-------
|
||||||
|
|
||||||
|
- [Accept less invalid Rust in rustdoc.](https://github.com/rust-lang/rust/pull/117450/)
|
||||||
|
- [Document lack of object safety on affected traits.](https://github.com/rust-lang/rust/pull/113241/)
|
||||||
|
- [Hide `#[repr(transparent)]` if it isn't part of the public ABI.](https://github.com/rust-lang/rust/pull/115439/)
|
||||||
|
- [Show enum discrimant if it is a C-like variant.](https://github.com/rust-lang/rust/pull/116142/)
|
||||||
|
|
||||||
|
<a id="1.75.0-Compatibility-Notes"></a>
|
||||||
|
|
||||||
|
Compatibility Notes
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
- [FreeBSD targets now require at least version 12.](https://github.com/rust-lang/rust/pull/114521/)
|
||||||
|
- [Formally demote tier 2 MIPS targets to tier 3.](https://github.com/rust-lang/rust/pull/115238/)
|
||||||
|
- [Make misalignment a hard error in `const` contexts.](https://github.com/rust-lang/rust/pull/115524/)
|
||||||
|
- [Fix detecting references to packed unsized fields.](https://github.com/rust-lang/rust/pull/115583/)
|
||||||
|
- [Remove support for compiler plugins.](https://github.com/rust-lang/rust/pull/116412/)
|
||||||
|
|
||||||
|
<a id="1.75.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.
|
||||||
|
|
||||||
|
- [Optimize `librustc_driver.so` with BOLT.](https://github.com/rust-lang/rust/pull/116352/)
|
||||||
|
- [Enable parallel rustc front end in dev and nightly builds.](https://github.com/rust-lang/rust/pull/117435/)
|
||||||
|
- [Distribute `rustc-codegen-cratelift` as rustup component on the nightly channel.](https://github.com/rust-lang/rust/pull/81746/)
|
||||||
|
|
||||||
Version 1.74.1 (2023-12-07)
|
Version 1.74.1 (2023-12-07)
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user