Skip to content

Commit cc66ad4

Browse files
committed
Auto merge of #116364 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum
[stable] 1.73.0 release Still needs a clippy backport (rust-lang/rust-clippy#11596). r? `@Mark-Simulacrum`
2 parents 2ce543c + d3f6573 commit cc66ad4

10 files changed

+159
-67
lines changed

RELEASES.md

+147-10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,130 @@
1+
Version 1.73.0 (2023-10-05)
2+
==========================
3+
4+
<a id="1.73.0-Language"></a>
5+
6+
Language
7+
--------
8+
9+
- [Uplift `clippy::fn_null_check` lint as `useless_ptr_null_checks`.](https://github.com/rust-lang/rust/pull/111717/)
10+
- [Make `noop_method_call` warn by default.](https://github.com/rust-lang/rust/pull/111916/)
11+
- [Support interpolated block for `try` and `async` in macros.](https://github.com/rust-lang/rust/pull/112953/)
12+
- [Make `unconditional_recursion` lint detect recursive drops.](https://github.com/rust-lang/rust/pull/113902/)
13+
- [Future compatibility warning for some impls being incorrectly considered not overlapping.](https://github.com/rust-lang/rust/pull/114023/)
14+
- [The `invalid_reference_casting` lint is now **deny-by-default** (instead of allow-by-default)](https://github.com/rust-lang/rust/pull/112431)
15+
16+
<a id="1.73.0-Compiler"></a>
17+
18+
Compiler
19+
--------
20+
21+
- [Write version information in a `.comment` section like GCC/Clang.](https://github.com/rust-lang/rust/pull/97550/)
22+
- [Add documentation on v0 symbol mangling.](https://github.com/rust-lang/rust/pull/97571/)
23+
- [Stabilize `extern "thiscall"` and `"thiscall-unwind"` ABIs.](https://github.com/rust-lang/rust/pull/114562/)
24+
- [Only check outlives goals on impl compared to trait.](https://github.com/rust-lang/rust/pull/109356/)
25+
- [Infer type in irrefutable slice patterns with fixed length as array.](https://github.com/rust-lang/rust/pull/113199/)
26+
- [Discard default auto trait impls if explicit ones exist.](https://github.com/rust-lang/rust/pull/113312/)
27+
- Add several new tier 3 targets:
28+
- [`aarch64-unknown-teeos`](https://github.com/rust-lang/rust/pull/113480/)
29+
- [`csky-unknown-linux-gnuabiv2`](https://github.com/rust-lang/rust/pull/113658/)
30+
- [`riscv64-linux-android`](https://github.com/rust-lang/rust/pull/112858/)
31+
- [`riscv64gc-unknown-hermit`](https://github.com/rust-lang/rust/pull/114004/)
32+
- [`x86_64-unikraft-linux-musl`](https://github.com/rust-lang/rust/pull/113411/)
33+
- [`x86_64-unknown-linux-ohos`](https://github.com/rust-lang/rust/pull/113061/)
34+
- [Add `wasm32-wasi-preview1-threads` as a tier 2 target.](https://github.com/rust-lang/rust/pull/112922/)
35+
36+
Refer to Rust's [platform support page][platform-support-doc]
37+
for more information on Rust's tiered platform support.
38+
39+
<a id="1.73.0-Libraries"></a>
40+
41+
Libraries
42+
---------
43+
44+
- [Add `Read`, `Write` and `Seek` impls for `Arc<File>`.](https://github.com/rust-lang/rust/pull/94748/)
45+
- [Merge functionality of `io::Sink` into `io::Empty`.](https://github.com/rust-lang/rust/pull/98154/)
46+
- [Implement `RefUnwindSafe` for `Backtrace`](https://github.com/rust-lang/rust/pull/100455/)
47+
- [Make `ExitStatus` implement `Default`](https://github.com/rust-lang/rust/pull/106425/)
48+
- [`impl SliceIndex<str> for (Bound<usize>, Bound<usize>)`](https://github.com/rust-lang/rust/pull/111081/)
49+
- [Change default panic handler message format.](https://github.com/rust-lang/rust/pull/112849/)
50+
- [Cleaner `assert_eq!` & `assert_ne!` panic messages.](https://github.com/rust-lang/rust/pull/111071/)
51+
- [Correct the (deprecated) Android `stat` struct definitions.](https://github.com/rust-lang/rust/pull/113130/)
52+
53+
<a id="1.73.0-Stabilized-APIs"></a>
54+
55+
Stabilized APIs
56+
---------------
57+
58+
- [Unsigned `{integer}::div_ceil`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.div_ceil)
59+
- [Unsigned `{integer}::next_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.next_multiple_of)
60+
- [Unsigned `{integer}::checked_next_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.checked_next_multiple_of)
61+
- [`std::ffi::FromBytesUntilNulError`](https://doc.rust-lang.org/stable/std/ffi/struct.FromBytesUntilNulError.html)
62+
- [`std::os::unix::fs::chown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.chown.html)
63+
- [`std::os::unix::fs::fchown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.fchown.html)
64+
- [`std::os::unix::fs::lfchown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.lchown.html)
65+
- [`LocalKey::<Cell<T>>::get`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.get)
66+
- [`LocalKey::<Cell<T>>::set`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set)
67+
- [`LocalKey::<Cell<T>>::take`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take)
68+
- [`LocalKey::<Cell<T>>::replace`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace)
69+
- [`LocalKey::<RefCell<T>>::with_borrow`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow)
70+
- [`LocalKey::<RefCell<T>>::with_borrow_mut`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow_mut)
71+
- [`LocalKey::<RefCell<T>>::set`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set-1)
72+
- [`LocalKey::<RefCell<T>>::take`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take-1)
73+
- [`LocalKey::<RefCell<T>>::replace`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace-1)
74+
75+
These APIs are now stable in const contexts:
76+
77+
- [`rc::Weak::new`](https://doc.rust-lang.org/stable/alloc/rc/struct.Weak.html#method.new)
78+
- [`sync::Weak::new`](https://doc.rust-lang.org/stable/alloc/sync/struct.Weak.html#method.new)
79+
- [`NonNull::as_ref`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_ref)
80+
81+
<a id="1.73.0-Cargo"></a>
82+
83+
Cargo
84+
-----
85+
86+
- [Encode URL params correctly for `SourceId` in `Cargo.lock`.](https://github.com/rust-lang/cargo/pull/12280/)
87+
- [Bail out an error when using `cargo::` in custom build script.](https://github.com/rust-lang/cargo/pull/12332/)
88+
89+
<a id="1.73.0-Misc"></a>
90+
91+
Misc
92+
----
93+
94+
<a id="1.73.0-Compatibility-Notes"></a>
95+
96+
Compatibility Notes
97+
-------------------
98+
99+
- [Update the minimum external LLVM to 15.](https://github.com/rust-lang/rust/pull/114148/)
100+
- [Check for non-defining uses of return position `impl Trait`.](https://github.com/rust-lang/rust/pull/112842/)
101+
102+
<a id="1.73.0-Internal-Changes"></a>
103+
104+
Internal Changes
105+
----------------
106+
107+
These changes do not affect any public interfaces of Rust, but they represent
108+
significant improvements to the performance or internals of rustc and related
109+
tools.
110+
111+
- [Remove LLVM pointee types, supporting only opaque pointers.](https://github.com/rust-lang/rust/pull/105545/)
112+
- [Port PGO/LTO/BOLT optimized build pipeline to Rust.](https://github.com/rust-lang/rust/pull/112235/)
113+
- [Replace in-tree `rustc_apfloat` with the new version of the crate.](https://github.com/rust-lang/rust/pull/113843/)
114+
- [Update to LLVM 17.](https://github.com/rust-lang/rust/pull/114048/)
115+
- [Add `internal_features` lint for internal unstable features.](https://github.com/rust-lang/rust/pull/108955/)
116+
- [Mention style for new syntax in tracking issue template.](https://github.com/rust-lang/rust/pull/113586/)
117+
118+
Version 1.72.1 (2023-09-19)
119+
===========================
120+
121+
- [Adjust codegen change to improve LLVM codegen](https://github.com/rust-lang/rust/pull/115236)
122+
- [rustdoc: Fix self ty params in objects with lifetimes](https://github.com/rust-lang/rust/pull/115276)
123+
- [Fix regression in compile times](https://github.com/rust-lang/rust/pull/114948)
124+
- Resolve some ICE regressions in the compiler:
125+
- [#115215](https://github.com/rust-lang/rust/pull/115215)
126+
- [#115559](https://github.com/rust-lang/rust/pull/115559)
127+
1128
Version 1.72.0 (2023-08-24)
2129
==========================
3130

@@ -10,9 +137,9 @@ Language
10137
- [expand: Change how `#![cfg(FALSE)]` behaves on crate root](https://github.com/rust-lang/rust/pull/110141/)
11138
- [Stabilize inline asm for LoongArch64](https://github.com/rust-lang/rust/pull/111235/)
12139
- [Uplift `clippy::undropped_manually_drops` lint](https://github.com/rust-lang/rust/pull/111530/)
13-
- [Uplift `clippy::invalid_utf8_in_unchecked` lint](https://github.com/rust-lang/rust/pull/111543/)
14-
- [Uplift `clippy::cast_ref_to_mut` lint](https://github.com/rust-lang/rust/pull/111567/)
15-
- [Uplift `clippy::cmp_nan` lint](https://github.com/rust-lang/rust/pull/111818/)
140+
- [Uplift `clippy::invalid_utf8_in_unchecked` lint](https://github.com/rust-lang/rust/pull/111543/) as `invalid_from_utf8_unchecked` and `invalid_from_utf8`
141+
- [Uplift `clippy::cast_ref_to_mut` lint](https://github.com/rust-lang/rust/pull/111567/) as `invalid_reference_casting`
142+
- [Uplift `clippy::cmp_nan` lint](https://github.com/rust-lang/rust/pull/111818/) as `invalid_nan_comparisons`
16143
- [resolve: Remove artificial import ambiguity errors](https://github.com/rust-lang/rust/pull/112086/)
17144
- [Don't require associated types with Self: Sized bounds in `dyn Trait` objects](https://github.com/rust-lang/rust/pull/112319/)
18145

@@ -65,16 +192,16 @@ Rustdoc
65192
Stabilized APIs
66193
---------------
67194

68-
- [`impl<T: Send> Sync for mpsc::Sender<T>`](https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html#impl-Sync-for-Sender%3CT%3E)
69-
- [`impl TryFrom<&OsStr> for &str`](https://doc.rust-lang.org/nightly/std/primitive.str.html#impl-TryFrom%3C%26'a+OsStr%3E-for-%26'a+str)
70-
- [`String::leak`](https://doc.rust-lang.org/nightly/alloc/string/struct.String.html#method.leak)
195+
- [`impl<T: Send> Sync for mpsc::Sender<T>`](https://doc.rust-lang.org/stable/std/sync/mpsc/struct.Sender.html#impl-Sync-for-Sender%3CT%3E)
196+
- [`impl TryFrom<&OsStr> for &str`](https://doc.rust-lang.org/stable/std/primitive.str.html#impl-TryFrom%3C%26'a+OsStr%3E-for-%26'a+str)
197+
- [`String::leak`](https://doc.rust-lang.org/stable/alloc/string/struct.String.html#method.leak)
71198

72199
These APIs are now stable in const contexts:
73200

74-
- [`CStr::from_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul)
75-
- [`CStr::to_bytes`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul)
76-
- [`CStr::to_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul)
77-
- [`CStr::to_str`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul)
201+
- [`CStr::from_bytes_with_nul`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#method.from_bytes_with_nul)
202+
- [`CStr::to_bytes`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#method.to_bytes)
203+
- [`CStr::to_bytes_with_nul`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#method.to_bytes_with_nul)
204+
- [`CStr::to_str`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#method.to_str)
78205

79206
<a id="1.72.0-Cargo"></a>
80207

@@ -103,6 +230,16 @@ Compatibility Notes
103230
to a registry.
104231
[#12291](https://github.com/rust-lang/cargo/pull/12291)
105232

233+
Version 1.71.1 (2023-08-03)
234+
===========================
235+
236+
- [Fix CVE-2023-38497: Cargo did not respect the umask when extracting dependencies](https://github.com/rust-lang/cargo/security/advisories/GHSA-j3xp-wfr4-hx87)
237+
- [Fix bash completion for users of Rustup](https://github.com/rust-lang/rust/pull/113579)
238+
- [Do not show `suspicious_double_ref_op` lint when calling `borrow()`](https://github.com/rust-lang/rust/pull/112517)
239+
- [Fix ICE: substitute types before checking inlining compatibility](https://github.com/rust-lang/rust/pull/113802)
240+
- [Fix ICE: don't use `can_eq` in `derive(..)` suggestion for missing method](https://github.com/rust-lang/rust/pull/111516)
241+
- [Fix building Rust 1.71.0 from the source tarball](https://github.com/rust-lang/rust/issues/113678)
242+
106243
Version 1.71.0 (2023-07-13)
107244
==========================
108245

src/ci/channel

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

src/tools/clippy/clippy_lints/src/needless_pass_by_ref_mut.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ declare_clippy_lint! {
4646
/// ```
4747
#[clippy::version = "1.72.0"]
4848
pub NEEDLESS_PASS_BY_REF_MUT,
49-
suspicious,
49+
nursery,
5050
"using a `&mut` argument when it's not mutated"
5151
}
5252

src/tools/clippy/tests/ui/infinite_loop.stderr

+1-9
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,5 @@ LL | while y < 10 {
9191
= note: this loop contains `return`s or `break`s
9292
= help: rewrite it as `if cond { loop { } }`
9393

94-
error: this argument is a mutable reference, but not used mutably
95-
--> $DIR/infinite_loop.rs:7:17
96-
|
97-
LL | fn fn_mutref(i: &mut i32) {
98-
| ^^^^^^^^ help: consider changing to: `&i32`
99-
|
100-
= note: `-D clippy::needless-pass-by-ref-mut` implied by `-D warnings`
101-
102-
error: aborting due to 12 previous errors
94+
error: aborting due to 11 previous errors
10395

src/tools/clippy/tests/ui/let_underscore_future.stderr

+1-9
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,5 @@ LL | let _ = future;
2323
|
2424
= help: consider awaiting the future or dropping explicitly with `std::mem::drop`
2525

26-
error: this argument is a mutable reference, but not used mutably
27-
--> $DIR/let_underscore_future.rs:11:35
28-
|
29-
LL | fn do_something_to_future(future: &mut impl Future<Output = ()>) {}
30-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider changing to: `&impl Future<Output = ()>`
31-
|
32-
= note: `-D clippy::needless-pass-by-ref-mut` implied by `-D warnings`
33-
34-
error: aborting due to 4 previous errors
26+
error: aborting due to 3 previous errors
3527

src/tools/clippy/tests/ui/mut_key.stderr

+1-9
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,5 @@ error: mutable key type
102102
LL | let _map = HashMap::<Arc<Cell<usize>>, usize>::new();
103103
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
104104

105-
error: this argument is a mutable reference, but not used mutably
106-
--> $DIR/mut_key.rs:31:32
107-
|
108-
LL | fn should_not_take_this_arg(m: &mut HashMap<Key, usize>, _n: usize) -> HashSet<Key> {
109-
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider changing to: `&HashMap<Key, usize>`
110-
|
111-
= note: `-D clippy::needless-pass-by-ref-mut` implied by `-D warnings`
112-
113-
error: aborting due to 18 previous errors
105+
error: aborting due to 17 previous errors
114106

src/tools/clippy/tests/ui/mut_reference.stderr

+1-9
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,5 @@ error: the method `takes_an_immutable_reference` doesn't need a mutable referenc
1818
LL | my_struct.takes_an_immutable_reference(&mut 42);
1919
| ^^^^^^^
2020

21-
error: this argument is a mutable reference, but not used mutably
22-
--> $DIR/mut_reference.rs:24:44
23-
|
24-
LL | fn takes_a_mutable_reference(&self, a: &mut i32) {}
25-
| ^^^^^^^^ help: consider changing to: `&i32`
26-
|
27-
= note: `-D clippy::needless-pass-by-ref-mut` implied by `-D warnings`
28-
29-
error: aborting due to 4 previous errors
21+
error: aborting due to 3 previous errors
3022

src/tools/clippy/tests/ui/needless_pass_by_ref_mut.rs

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
#![allow(clippy::if_same_then_else, clippy::no_effect)]
22
#![feature(lint_reasons)]
33

4+
// just ignore everywhere for now
5+
//@ignore-32bit
6+
//@ignore-64bit
7+
48
use std::ptr::NonNull;
59

610
fn foo(s: &mut Vec<u32>, b: &u32, x: &mut u32) {

src/tools/clippy/tests/ui/should_impl_trait/method_list_2.stderr

+1-10
Original file line numberDiff line numberDiff line change
@@ -149,14 +149,5 @@ LL | | }
149149
|
150150
= help: consider implementing the trait `std::ops::Sub` or choosing a less ambiguous method name
151151

152-
error: this argument is a mutable reference, but not used mutably
153-
--> $DIR/method_list_2.rs:38:31
154-
|
155-
LL | pub fn hash(&self, state: &mut T) {
156-
| ^^^^^^ help: consider changing to: `&T`
157-
|
158-
= warning: changing this function will impact semver compatibility
159-
= note: `-D clippy::needless-pass-by-ref-mut` implied by `-D warnings`
160-
161-
error: aborting due to 16 previous errors
152+
error: aborting due to 15 previous errors
162153

src/tools/clippy/tests/ui/slow_vector_initialization.stderr

+1-9
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,5 @@ LL | vec1 = Vec::new();
9696
LL | vec1.resize(10, 0);
9797
| ^^^^^^^^^^^^^^^^^^
9898

99-
error: this argument is a mutable reference, but not used mutably
100-
--> $DIR/slow_vector_initialization.rs:78:18
101-
|
102-
LL | fn do_stuff(vec: &mut [u8]) {}
103-
| ^^^^^^^^^ help: consider changing to: `&[u8]`
104-
|
105-
= note: `-D clippy::needless-pass-by-ref-mut` implied by `-D warnings`
106-
107-
error: aborting due to 13 previous errors
99+
error: aborting due to 12 previous errors
108100

0 commit comments

Comments
 (0)