Skip to content

Commit 818f136

Browse files
author
George-lewis
committed
Merge branch 'master' of https://github.com/rust-lang/rust into glewis/suggest-upgrading-compiler
2 parents 27eebe3 + ca9ff83 commit 818f136

File tree

1,183 files changed

+21354
-12853
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,183 files changed

+21354
-12853
lines changed

.github/workflows/ci.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,9 @@ jobs:
289289
os: ubuntu-20.04-4core-16gb
290290
env: {}
291291
- name: x86_64-gnu-integration
292+
env:
293+
CI_ONLY_WHEN_CHANNEL: nightly
292294
os: ubuntu-20.04-16core-64gb
293-
env: {}
294295
- name: x86_64-gnu-debug
295296
os: ubuntu-20.04-8core-32gb
296297
env: {}

Cargo.lock

+18-3
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,7 @@ dependencies = [
598598
"itertools",
599599
"quine-mc_cluskey",
600600
"regex",
601-
"regex-syntax 0.7.2",
601+
"regex-syntax 0.8.2",
602602
"rustc-semver",
603603
"semver",
604604
"serde",
@@ -3195,6 +3195,12 @@ version = "0.7.2"
31953195
source = "registry+https://github.com/rust-lang/crates.io-index"
31963196
checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
31973197

3198+
[[package]]
3199+
name = "regex-syntax"
3200+
version = "0.8.2"
3201+
source = "registry+https://github.com/rust-lang/crates.io-index"
3202+
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
3203+
31983204
[[package]]
31993205
name = "remote-test-client"
32003206
version = "0.1.0"
@@ -4334,6 +4340,7 @@ dependencies = [
43344340
name = "rustc_pattern_analysis"
43354341
version = "0.0.0"
43364342
dependencies = [
4343+
"derivative",
43374344
"rustc_apfloat",
43384345
"rustc_arena",
43394346
"rustc_data_structures",
@@ -4348,6 +4355,7 @@ dependencies = [
43484355
"rustc_target",
43494356
"smallvec",
43504357
"tracing",
4358+
"typed-arena",
43514359
]
43524360

43534361
[[package]]
@@ -4555,6 +4563,7 @@ checksum = "8ba09476327c4b70ccefb6180f046ef588c26a24cf5d269a9feba316eb4f029f"
45554563
name = "rustc_trait_selection"
45564564
version = "0.0.0"
45574565
dependencies = [
4566+
"itertools",
45584567
"rustc_ast",
45594568
"rustc_attr",
45604569
"rustc_data_structures",
@@ -5197,9 +5206,9 @@ dependencies = [
51975206

51985207
[[package]]
51995208
name = "sysinfo"
5200-
version = "0.29.2"
5209+
version = "0.29.11"
52015210
source = "registry+https://github.com/rust-lang/crates.io-index"
5202-
checksum = "9557d0845b86eea8182f7b10dff120214fb6cd9fd937b6f4917714e546a38695"
5211+
checksum = "cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666"
52035212
dependencies = [
52045213
"cfg-if",
52055214
"core-foundation-sys",
@@ -5683,6 +5692,12 @@ dependencies = [
56835692
"rustc-hash",
56845693
]
56855694

5695+
[[package]]
5696+
name = "typed-arena"
5697+
version = "2.0.2"
5698+
source = "registry+https://github.com/rust-lang/crates.io-index"
5699+
checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
5700+
56865701
[[package]]
56875702
name = "typenum"
56885703
version = "1.16.0"

RELEASES.md

+132
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,135 @@
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+
1133
Version 1.74.0 (2023-11-16)
2134
==========================
3135

0 commit comments

Comments
 (0)