Skip to content

Commit fbe9b6f

Browse files
committed
Auto merge of rust-lang#119186 - rust-lang:pa-stable-1.75, r=pietroalbini
[stable] Prepare Rust 1.75.0 release This PR includes the squash of the release notes from rust-lang#118729, and bumps the channel to stable to prepare release artifacts. The only `beta-nominated` PR is rust-lang#118796, which is still waiting for review and is not `beta-accepted` yet, so this does **not** backport it. `@Nadrieril` `@cjgillot` `@apiraino` if that PR becomes ready to be backported before the 28th ping me on Zulip and I can rebuild artifacts with it. r? `@ghost`
2 parents b216e7b + 0e5e02d commit fbe9b6f

File tree

2 files changed

+249
-2
lines changed

2 files changed

+249
-2
lines changed

RELEASES.md

+248-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,251 @@
1+
Version 1.75.0 (2023-12-28)
2+
==========================
3+
4+
<a id="1.75.0-Language"></a>
5+
6+
Language
7+
--------
8+
9+
- [Stabilize `async fn` and return-position `impl Trait` in traits.](https://github.com/rust-lang/rust/pull/115822/)
10+
- [Allow function pointer signatures containing `&mut T` in `const` contexts.](https://github.com/rust-lang/rust/pull/116015/)
11+
- [Match `usize`/`isize` exhaustively with half-open ranges.](https://github.com/rust-lang/rust/pull/116692/)
12+
- [Guarantee that `char` has the same size and alignment as `u32`.](https://github.com/rust-lang/rust/pull/116894/)
13+
- [Document that the null pointer has the 0 address.](https://github.com/rust-lang/rust/pull/116988/)
14+
- [Allow partially moved values in `match`.](https://github.com/rust-lang/rust/pull/103208/)
15+
- [Add notes about non-compliant FP behavior on 32bit x86 targets.](https://github.com/rust-lang/rust/pull/113053/)
16+
- [Stabilize ratified RISC-V target features.](https://github.com/rust-lang/rust/pull/116485/)
17+
18+
<a id="1.75.0-Compiler"></a>
19+
20+
Compiler
21+
--------
22+
23+
- [Rework negative coherence to properly consider impls that only partly overlap.](https://github.com/rust-lang/rust/pull/112875/)
24+
- [Bump `COINDUCTIVE_OVERLAP_IN_COHERENCE` to deny, and warn in dependencies.](https://github.com/rust-lang/rust/pull/116493/)
25+
- [Consider alias bounds when computing liveness in NLL.](https://github.com/rust-lang/rust/pull/116733/)
26+
- [Add the V (vector) extension to the `riscv64-linux-android` target spec.](https://github.com/rust-lang/rust/pull/116618/)
27+
- [Automatically enable cross-crate inlining for small functions](https://github.com/rust-lang/rust/pull/116505)
28+
- Add several new tier 3 targets:
29+
- [`csky-unknown-linux-gnuabiv2hf`](https://github.com/rust-lang/rust/pull/117049/)
30+
- [`i586-unknown-netbsd`](https://github.com/rust-lang/rust/pull/117170/)
31+
- [`mipsel-unknown-netbsd`](https://github.com/rust-lang/rust/pull/117356/)
32+
33+
Refer to Rust's [platform support page][platform-support-doc]
34+
for more information on Rust's tiered platform support.
35+
36+
<a id="1.75.0-Libraries"></a>
37+
38+
Libraries
39+
---------
40+
41+
- [Override `Waker::clone_from` to avoid cloning `Waker`s unnecessarily.](https://github.com/rust-lang/rust/pull/96979/)
42+
- [Implement `BufRead` for `VecDeque<u8>`.](https://github.com/rust-lang/rust/pull/110604/)
43+
- [Implement `FusedIterator` for `DecodeUtf16` when the inner iterator does.](https://github.com/rust-lang/rust/pull/110729/)
44+
- [Implement `Not, Bit{And,Or}{,Assign}` for IP addresses.](https://github.com/rust-lang/rust/pull/113747/)
45+
- [Implement `Default` for `ExitCode`.](https://github.com/rust-lang/rust/pull/114589/)
46+
- [Guarantee representation of None in NPO](https://github.com/rust-lang/rust/pull/115333/)
47+
- [Document when atomic loads are guaranteed read-only.](https://github.com/rust-lang/rust/pull/115577/)
48+
- [Broaden the consequences of recursive TLS initialization.](https://github.com/rust-lang/rust/pull/116172/)
49+
- [Windows: Support sub-millisecond sleep.](https://github.com/rust-lang/rust/pull/116461/)
50+
- [Fix generic bound of `str::SplitInclusive`'s `DoubleEndedIterator` impl](https://github.com/rust-lang/rust/pull/100806/)
51+
- [Fix exit status / wait status on non-Unix `cfg(unix)` platforms.](https://github.com/rust-lang/rust/pull/115108/)
52+
53+
<a id="1.75.0-Stabilized-APIs"></a>
54+
55+
Stabilized APIs
56+
---------------
57+
58+
- [`Atomic*::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.from_ptr)
59+
- [`FileTimes`](https://doc.rust-lang.org/stable/std/fs/struct.FileTimes.html)
60+
- [`FileTimesExt`](https://doc.rust-lang.org/stable/std/os/windows/fs/trait.FileTimesExt.html)
61+
- [`File::set_modified`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.set_modified)
62+
- [`File::set_times`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.set_times)
63+
- [`IpAddr::to_canonical`](https://doc.rust-lang.org/stable/core/net/enum.IpAddr.html#method.to_canonical)
64+
- [`Ipv6Addr::to_canonical`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.to_canonical)
65+
- [`Option::as_slice`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_slice)
66+
- [`Option::as_mut_slice`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_mut_slice)
67+
- [`pointer::byte_add`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_add)
68+
- [`pointer::byte_offset`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_offset)
69+
- [`pointer::byte_offset_from`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_offset_from)
70+
- [`pointer::byte_sub`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_sub)
71+
- [`pointer::wrapping_byte_add`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_add)
72+
- [`pointer::wrapping_byte_offset`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_offset)
73+
- [`pointer::wrapping_byte_sub`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_sub)
74+
75+
These APIs are now stable in const contexts:
76+
77+
- [`Ipv6Addr::to_ipv4_mapped`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.to_ipv4_mapped)
78+
- [`MaybeUninit::assume_init_read`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.assume_init_read)
79+
- [`MaybeUninit::zeroed`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.zeroed)
80+
- [`mem::discriminant`](https://doc.rust-lang.org/stable/core/mem/fn.discriminant.html)
81+
- [`mem::zeroed`](https://doc.rust-lang.org/stable/core/mem/fn.zeroed.html)
82+
83+
<a id="1.75.0-Cargo"></a>
84+
85+
Cargo
86+
-----
87+
88+
- [Add new packages to `[workspace.members]` automatically.](https://github.com/rust-lang/cargo/pull/12779/)
89+
- [Allow version-less `Cargo.toml` manifests.](https://github.com/rust-lang/cargo/pull/12786/)
90+
- [Make browser links out of HTML file paths.](https://github.com/rust-lang/cargo/pull/12889)
91+
92+
<a id="1.75.0-Rustdoc"></a>
93+
94+
Rustdoc
95+
-------
96+
97+
- [Accept less invalid Rust in rustdoc.](https://github.com/rust-lang/rust/pull/117450/)
98+
- [Document lack of object safety on affected traits.](https://github.com/rust-lang/rust/pull/113241/)
99+
- [Hide `#[repr(transparent)]` if it isn't part of the public ABI.](https://github.com/rust-lang/rust/pull/115439/)
100+
- [Show enum discriminant if it is a C-like variant.](https://github.com/rust-lang/rust/pull/116142/)
101+
102+
<a id="1.75.0-Compatibility-Notes"></a>
103+
104+
Compatibility Notes
105+
-------------------
106+
107+
- [FreeBSD targets now require at least version 12.](https://github.com/rust-lang/rust/pull/114521/)
108+
- [Formally demote tier 2 MIPS targets to tier 3.](https://github.com/rust-lang/rust/pull/115238/)
109+
- [Make misalignment a hard error in `const` contexts.](https://github.com/rust-lang/rust/pull/115524/)
110+
- [Fix detecting references to packed unsized fields.](https://github.com/rust-lang/rust/pull/115583/)
111+
- [Remove support for compiler plugins.](https://github.com/rust-lang/rust/pull/116412/)
112+
113+
<a id="1.75.0-Internal-Changes"></a>
114+
115+
Internal Changes
116+
----------------
117+
118+
These changes do not affect any public interfaces of Rust, but they represent
119+
significant improvements to the performance or internals of rustc and related
120+
tools.
121+
122+
- [Optimize `librustc_driver.so` with BOLT.](https://github.com/rust-lang/rust/pull/116352/)
123+
- [Enable parallel rustc front end in dev and nightly builds.](https://github.com/rust-lang/rust/pull/117435/)
124+
- [Distribute `rustc-codegen-cranelift` as rustup component on the nightly channel.](https://github.com/rust-lang/rust/pull/81746/)
125+
126+
Version 1.74.1 (2023-12-07)
127+
===========================
128+
129+
- [Resolved spurious STATUS_ACCESS_VIOLATIONs in LLVM](https://github.com/rust-lang/rust/pull/118464)
130+
- [Clarify guarantees for std::mem::discriminant](https://github.com/rust-lang/rust/pull/118006)
131+
- [Fix some subtyping-related regressions](https://github.com/rust-lang/rust/pull/116415)
132+
133+
Version 1.74.0 (2023-11-16)
134+
==========================
135+
136+
<a id="1.74.0-Language"></a>
137+
138+
Language
139+
--------
140+
141+
- [Codify that `std::mem::Discriminant<T>` does not depend on any lifetimes in T](https://github.com/rust-lang/rust/pull/104299/)
142+
- [Replace `private_in_public` lint with `private_interfaces` and `private_bounds` per RFC 2145.](https://github.com/rust-lang/rust/pull/113126/)
143+
Read more in [RFC 2145](https://rust-lang.github.io/rfcs/2145-type-privacy.html).
144+
- [Allow explicit `#[repr(Rust)]`](https://github.com/rust-lang/rust/pull/114201/)
145+
- [closure field capturing: don't depend on alignment of packed fields](https://github.com/rust-lang/rust/pull/115315/)
146+
- [Enable MIR-based drop-tracking for `async` blocks](https://github.com/rust-lang/rust/pull/107421/)
147+
- [Stabilize `impl_trait_projections`](https://github.com/rust-lang/rust/pull/115659)
148+
149+
<a id="1.74.0-Compiler"></a>
150+
151+
Compiler
152+
--------
153+
154+
- [stabilize combining +bundle and +whole-archive link modifiers](https://github.com/rust-lang/rust/pull/113301/)
155+
- [Stabilize `PATH` option for `--print KIND=PATH`](https://github.com/rust-lang/rust/pull/114183/)
156+
- [Enable ASAN/LSAN/TSAN for `*-apple-ios-macabi`](https://github.com/rust-lang/rust/pull/115644/)
157+
- [Promote loongarch64-unknown-none* to Tier 2](https://github.com/rust-lang/rust/pull/115368/)
158+
- [Add `i686-pc-windows-gnullvm` as a tier 3 target](https://github.com/rust-lang/rust/pull/115687/)
159+
160+
<a id="1.74.0-Libraries"></a>
161+
162+
Libraries
163+
---------
164+
165+
- [Implement `From<OwnedFd/Handle>` for ChildStdin/out/err](https://github.com/rust-lang/rust/pull/98704/)
166+
- [Implement `From<{&,&mut} [T; N]>` for `Vec<T>` where `T: Clone`](https://github.com/rust-lang/rust/pull/111278/)
167+
- [impl Step for IP addresses](https://github.com/rust-lang/rust/pull/113748/)
168+
- [Implement `From<[T; N]>` for `Rc<[T]>` and `Arc<[T]>`](https://github.com/rust-lang/rust/pull/114041/)
169+
- [`impl TryFrom<char> for u16`](https://github.com/rust-lang/rust/pull/114065/)
170+
- [Stabilize `io_error_other` feature](https://github.com/rust-lang/rust/pull/115453/)
171+
- [Stabilize the `Saturating` type](https://github.com/rust-lang/rust/pull/115477/)
172+
- [Stabilize const_transmute_copy](https://github.com/rust-lang/rust/pull/115520/)
173+
174+
<a id="1.74.0-Stabilized-APIs"></a>
175+
176+
Stabilized APIs
177+
---------------
178+
179+
- [`core::num::Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html)
180+
- [`impl From<io::Stdout> for std::process::Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStdout%3E-for-Stdio)
181+
- [`impl From<io::Stderr> for std::process::Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
182+
- [`impl From<OwnedHandle> for std::process::Child{Stdin, Stdout, Stderr}`](https://doc.rust-lang.org/stable/std/process/struct.ChildStderr.html#impl-From%3COwnedHandle%3E-for-ChildStderr)
183+
- [`impl From<OwnedFd> for std::process::Child{Stdin, Stdout, Stderr}`](https://doc.rust-lang.org/stable/std/process/struct.ChildStderr.html#impl-From%3COwnedFd%3E-for-ChildStderr)
184+
- [`std::ffi::OsString::from_encoded_bytes_unchecked`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.from_encoded_bytes_unchecked)
185+
- [`std::ffi::OsString::into_encoded_bytes`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.into_encoded_bytes)
186+
- [`std::ffi::OsStr::from_encoded_bytes_unchecked`](https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.from_encoded_bytes_unchecked)
187+
- [`std::ffi::OsStr::as_encoded_bytes`](https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.as_encoded_bytes)
188+
- [`std::io::Error::other`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.other)
189+
- [`impl TryFrom<char> for u16`](https://doc.rust-lang.org/stable/std/primitive.u16.html#impl-TryFrom%3Cchar%3E-for-u16)
190+
- [`impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
191+
- [`impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26mut+%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
192+
- [`impl<T, const N: usize> From<[T; N]> for Arc<[T]>`](https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#impl-From%3C%5BT;+N%5D%3E-for-Arc%3C%5BT%5D,+Global%3E)
193+
- [`impl<T, const N: usize> From<[T; N]> for Rc<[T]>`](https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#impl-From%3C%5BT;+N%5D%3E-for-Rc%3C%5BT%5D,+Global%3E)
194+
195+
These APIs are now stable in const contexts:
196+
197+
- [`core::mem::transmute_copy`](https://doc.rust-lang.org/beta/std/mem/fn.transmute_copy.html)
198+
- [`str::is_ascii`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.is_ascii)
199+
- [`[u8]::is_ascii`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.is_ascii)
200+
201+
<a id="1.74.0-Cargo"></a>
202+
203+
Cargo
204+
-----
205+
206+
- [In `Cargo.toml`, stabilize `[lints]`](https://github.com/rust-lang/cargo/pull/12648/)
207+
- [Stabilize credential-process and registry-auth](https://github.com/rust-lang/cargo/pull/12649/)
208+
- [Stabilize `--keep-going` build flag](https://github.com/rust-lang/cargo/pull/12568/)
209+
- [Add styling to `--help` output](https://github.com/rust-lang/cargo/pull/12578/)
210+
- [For `cargo clean`, add `--dry-run` flag and summary line at the end](https://github.com/rust-lang/cargo/pull/12638)
211+
- [For `cargo update`, make `--package` more convenient by being positional](https://github.com/rust-lang/cargo/pull/12545/)
212+
- [For `cargo update`, clarify meaning of --aggressive as --recursive](https://github.com/rust-lang/cargo/pull/12544/)
213+
- [Add '-n' as an alias for `--dry-run`](https://github.com/rust-lang/cargo/pull/12660/)
214+
- [Allow version-prefixes in pkgid's (e.g. `--package` flags) to resolve ambiguities](https://github.com/rust-lang/cargo/pull/12614/)
215+
- [In `.cargo/config.toml`, merge lists in precedence order](https://github.com/rust-lang/cargo/pull/12515/)
216+
- [Add support for `target.'cfg(..)'.linker`](https://github.com/rust-lang/cargo/pull/12535/)
217+
218+
<a id="1.74.0-Rustdoc"></a>
219+
220+
Rustdoc
221+
-------
222+
223+
- [Add warning block support in rustdoc](https://github.com/rust-lang/rust/pull/106561/)
224+
- [rustdoc-search: add support for type parameters](https://github.com/rust-lang/rust/pull/112725/)
225+
- [rustdoc: show inner enum and struct in type definition for concrete type](https://github.com/rust-lang/rust/pull/114855/)
226+
227+
<a id="1.74.0-Compatibility-Notes"></a>
228+
229+
Compatibility Notes
230+
-------------------
231+
232+
- [Raise minimum supported Apple OS versions](https://github.com/rust-lang/rust/pull/104385/)
233+
- [make Cell::swap panic if the Cells partially overlap](https://github.com/rust-lang/rust/pull/114795/)
234+
- [Reject invalid crate names in `--extern`](https://github.com/rust-lang/rust/pull/116001/)
235+
- [Don't resolve generic impls that may be shadowed by dyn built-in impls](https://github.com/rust-lang/rust/pull/114941/)
236+
- [The new `impl From<{&,&mut} [T; N]> for Vec<T>` is known to cause some inference failures with overly-generic code.](https://github.com/rust-lang/rust/issues/117054) In those examples using the `tui` crate, the combination of `AsRef<_>` and `Into<Vec>` leaves the middle type ambiguous, and the new `impl` adds another possibility, so it now requires an explicit type annotation.
237+
238+
<a id="1.74.0-Internal-Changes"></a>
239+
240+
Internal Changes
241+
----------------
242+
243+
These changes do not affect any public interfaces of Rust, but they represent
244+
significant improvements to the performance or internals of rustc and related
245+
tools.
246+
247+
None this cycle.
248+
1249
Version 1.73.0 (2023-10-05)
2250
==========================
3251

@@ -83,7 +331,6 @@ These APIs are now stable in const contexts:
83331
Cargo
84332
-----
85333

86-
- [Encode URL params correctly for `SourceId` in `Cargo.lock`.](https://github.com/rust-lang/cargo/pull/12280/)
87334
- [Bail out an error when using `cargo::` in custom build script.](https://github.com/rust-lang/cargo/pull/12332/)
88335

89336
<a id="1.73.0-Misc"></a>

src/ci/channel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
beta
1+
stable

0 commit comments

Comments
 (0)