1
+ Version 1.72.0 (2023-08-24)
2
+ ==========================
3
+
4
+ <a id="1.72.0-Language"></a>
5
+
6
+ Language
7
+ --------
8
+
9
+ - [Replace const eval limit by a lint and add an exponential backoff warning](https://github.com/rust-lang/rust/pull/103877/)
10
+ - [expand: Change how `#![cfg(FALSE)]` behaves on crate root](https://github.com/rust-lang/rust/pull/110141/)
11
+ - [Stabilize inline asm for LoongArch64](https://github.com/rust-lang/rust/pull/111235/)
12
+ - [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/)
16
+ - [resolve: Remove artificial import ambiguity errors](https://github.com/rust-lang/rust/pull/112086/)
17
+ - [Don't require associated types with Self: Sized bounds in `dyn Trait` objects](https://github.com/rust-lang/rust/pull/112319/)
18
+
19
+ <a id="1.72.0-Compiler"></a>
20
+
21
+ Compiler
22
+ --------
23
+
24
+ - [Remember names of `cfg`-ed out items to mention them in diagnostics](https://github.com/rust-lang/rust/pull/109005/)
25
+ - [Support for native WASM exceptions](https://github.com/rust-lang/rust/pull/111322/)
26
+ - [Add support for NetBSD/aarch64-be (big-endian arm64).](https://github.com/rust-lang/rust/pull/111326/)
27
+ - [Write to stdout if `-` is given as output file](https://github.com/rust-lang/rust/pull/111626/)
28
+ - [Force all native libraries to be statically linked when linking a static binary](https://github.com/rust-lang/rust/pull/111698/)
29
+ - [Add Tier 3 support for `loongarch64-unknown-none*`](https://github.com/rust-lang/rust/pull/112310/)
30
+ - [Prevent `.eh_frame` from being emitted for `-C panic=abort`](https://github.com/rust-lang/rust/pull/112403/)
31
+ - [Support 128-bit enum variant in debuginfo codegen](https://github.com/rust-lang/rust/pull/112474/)
32
+ - [compiler: update solaris/illumos to enable tsan support.](https://github.com/rust-lang/rust/pull/112039/)
33
+
34
+ Refer to Rust's [platform support page][platform-support-doc]
35
+ for more information on Rust's tiered platform support.
36
+
37
+ <a id="1.72.0-Libraries"></a>
38
+
39
+ Libraries
40
+ ---------
41
+
42
+ - [Document memory orderings of `thread::{park, unpark}`](https://github.com/rust-lang/rust/pull/99587/)
43
+ - [io: soften ‘at most one write attempt’ requirement in io::Write::write](https://github.com/rust-lang/rust/pull/107200/)
44
+ - [Specify behavior of HashSet::insert](https://github.com/rust-lang/rust/pull/107619/)
45
+ - [Relax implicit `T: Sized` bounds on `BufReader<T>`, `BufWriter<T>` and `LineWriter<T>`](https://github.com/rust-lang/rust/pull/111074/)
46
+ - [Update runtime guarantee for `select_nth_unstable`](https://github.com/rust-lang/rust/pull/111974/)
47
+ - [Return `Ok` on kill if process has already exited](https://github.com/rust-lang/rust/pull/112594/)
48
+ - [Implement PartialOrd for `Vec`s over different allocators](https://github.com/rust-lang/rust/pull/112632/)
49
+ - [Use 128 bits for TypeId hash](https://github.com/rust-lang/rust/pull/109953/)
50
+ - [Don't drain-on-drop in DrainFilter impls of various collections.](https://github.com/rust-lang/rust/pull/104455/)
51
+ - [Make `{Arc,Rc,Weak}::ptr_eq` ignore pointer metadata](https://github.com/rust-lang/rust/pull/106450/)
52
+
53
+ <a id="1.72.0-Rustdoc"></a>
54
+
55
+ Rustdoc
56
+ -------
57
+
58
+ - [Allow whitespace as path separator like double colon](https://github.com/rust-lang/rust/pull/108537/)
59
+ - [Add search result item types after their name](https://github.com/rust-lang/rust/pull/110688/)
60
+ - [Search for slices and arrays by type with `[]`](https://github.com/rust-lang/rust/pull/111958/)
61
+ - [Clean up type unification and "unboxing"](https://github.com/rust-lang/rust/pull/112233/)
62
+
63
+ <a id="1.72.0-Stabilized-APIs"></a>
64
+
65
+ Stabilized APIs
66
+ ---------------
67
+
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)
71
+
72
+ These APIs are now stable in const contexts:
73
+
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)
78
+
79
+ <a id="1.72.0-Cargo"></a>
80
+
81
+ Cargo
82
+ -----
83
+
84
+ - Enable `-Zdoctest-in-workspace` by default. When running each documentation
85
+ test, the working directory is set to the root directory of the package the
86
+ test belongs to.
87
+ [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-test.html#working-directory-of-tests)
88
+ [#12221](https://github.com/rust-lang/cargo/pull/12221)
89
+ [#12288](https://github.com/rust-lang/cargo/pull/12288)
90
+ - Add support of the "default" keyword to reset previously set `build.jobs`
91
+ parallelism back to the default.
92
+ [#12222](https://github.com/rust-lang/cargo/pull/12222)
93
+
94
+ <a id="1.72.0-Compatibility-Notes"></a>
95
+
96
+ Compatibility Notes
97
+ -------------------
98
+
99
+ - [Alter `Display` for `Ipv6Addr` for IPv4-compatible addresses](https://github.com/rust-lang/rust/pull/112606/)
100
+ - Cargo changed feature name validation check to a hard error. The warning was
101
+ added in Rust 1.49. These extended characters aren't allowed on crates.io, so
102
+ this should only impact users of other registries, or people who don't publish
103
+ to a registry.
104
+ [#12291](https://github.com/rust-lang/cargo/pull/12291)
105
+
1
106
Version 1.71.0 (2023-07-13)
2
107
==========================
3
108
92
197
-----
93
198
- [Allow named debuginfo options in `Cargo.toml`.](https://github.com/rust-lang/cargo/pull/11958/)
94
199
- [Add `workspace_default_members` to the output of `cargo metadata`.](https://github.com/rust-lang/cargo/pull/11978/)
95
- - [`cargo add` now considers `rust-version` when selecting packages.](https://github.com/rust-lang/cargo/pull/12078/)
96
200
- [Automatically inherit workspace fields when running `cargo new`/`cargo init`.](https://github.com/rust-lang/cargo/pull/12069/)
97
201
98
202
<a id="1.71.0-Rustdoc"></a>
@@ -203,7 +307,7 @@ Stabilized APIs
203
307
- [`Default for std::collections::binary_heap::IntoIter`](https://doc.rust-lang.org/stable/std/collections/binary_heap/struct.IntoIter.html)
204
308
- [`Default for std::collections::btree_map::{IntoIter, Iter, IterMut}`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.IntoIter.html)
205
309
- [`Default for std::collections::btree_map::{IntoKeys, Keys}`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.IntoKeys.html)
206
- - [`Default for std::collections::btree_map::{IntoValues, Values}`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.IntoKeys .html)
310
+ - [`Default for std::collections::btree_map::{IntoValues, Values}`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.IntoValues .html)
207
311
- [`Default for std::collections::btree_map::Range`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.Range.html)
208
312
- [`Default for std::collections::btree_set::{IntoIter, Iter}`](https://doc.rust-lang.org/stable/std/collections/btree_set/struct.IntoIter.html)
209
313
- [`Default for std::collections::btree_set::Range`](https://doc.rust-lang.org/stable/std/collections/btree_set/struct.Range.html)
@@ -2618,7 +2722,7 @@ related tools.
2618
2722
[`OsStr::to_ascii_lowercase`]: https://doc.rust-lang.org/std/ffi/struct.OsStr.html#method.to_ascii_lowercase
2619
2723
[`OsStr::to_ascii_uppercase`]: https://doc.rust-lang.org/std/ffi/struct.OsStr.html#method.to_ascii_uppercase
2620
2724
[`Peekable::peek_mut`]: https://doc.rust-lang.org/std/iter/struct.Peekable.html#method.peek_mut
2621
- [`Rc::decrement_strong_count`]: https://doc.rust-lang.org/std/rc/struct.Rc.html#method.increment_strong_count
2725
+ [`Rc::decrement_strong_count`]: https://doc.rust-lang.org/std/rc/struct.Rc.html#method.decrement_strong_count
2622
2726
[`Rc::increment_strong_count`]: https://doc.rust-lang.org/std/rc/struct.Rc.html#method.increment_strong_count
2623
2727
[`Vec::extend_from_within`]: https://doc.rust-lang.org/beta/std/vec/struct.Vec.html#method.extend_from_within
2624
2728
[`array::from_mut`]: https://doc.rust-lang.org/beta/std/array/fn.from_mut.html
@@ -2627,7 +2731,7 @@ related tools.
2627
2731
[`cmp::max_by`]: https://doc.rust-lang.org/beta/std/cmp/fn.max_by.html
2628
2732
[`cmp::min_by_key`]: https://doc.rust-lang.org/beta/std/cmp/fn.min_by_key.html
2629
2733
[`cmp::min_by`]: https://doc.rust-lang.org/beta/std/cmp/fn.min_by.html
2630
- [`f32::is_subnormal`]: https://doc.rust-lang.org/std/primitive.f64 .html#method.is_subnormal
2734
+ [`f32::is_subnormal`]: https://doc.rust-lang.org/std/primitive.f32 .html#method.is_subnormal
2631
2735
[`f64::is_subnormal`]: https://doc.rust-lang.org/std/primitive.f64.html#method.is_subnormal
2632
2736
[ietf6943]: https://datatracker.ietf.org/doc/html/rfc6943#section-3.1.1
2633
2737
@@ -2963,7 +3067,7 @@ Internal Only
2963
3067
[`sync::OnceState`]: https://doc.rust-lang.org/stable/std/sync/struct.OnceState.html
2964
3068
[`panic::panic_any`]: https://doc.rust-lang.org/stable/std/panic/fn.panic_any.html
2965
3069
[`slice::strip_prefix`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.strip_prefix
2966
- [`slice::strip_suffix`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.strip_prefix
3070
+ [`slice::strip_suffix`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.strip_suffix
2967
3071
[`Arc::increment_strong_count`]: https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.increment_strong_count
2968
3072
[`Arc::decrement_strong_count`]: https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.decrement_strong_count
2969
3073
[`slice::fill_with`]: https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.fill_with
@@ -8033,7 +8137,7 @@ Compatibility Notes
8033
8137
[39379]: https://github.com/rust-lang/rust/pull/39379
8034
8138
[41105]: https://github.com/rust-lang/rust/issues/41105
8035
8139
[`<*const T>::wrapping_offset`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.wrapping_offset
8036
- [`<*mut T>::wrapping_offset`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.wrapping_offset
8140
+ [`<*mut T>::wrapping_offset`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.wrapping_offset-1
8037
8141
[`Duration::checked_add`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.checked_add
8038
8142
[`Duration::checked_div`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.checked_div
8039
8143
[`Duration::checked_mul`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.checked_mul
@@ -9011,7 +9115,7 @@ Stabilized APIs
9011
9115
* [`f64::to_radians`](https://doc.rust-lang.org/std/primitive.f64.html#method.to_radians)
9012
9116
(in libcore - previously stabilized in libstd)
9013
9117
* [`Iterator::sum`](https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.sum)
9014
- * [`Iterator::product`](https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.sum )
9118
+ * [`Iterator::product`](https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.product )
9015
9119
* [`Cell::get_mut`](https://doc.rust-lang.org/std/cell/struct.Cell.html#method.get_mut)
9016
9120
* [`RefCell::get_mut`](https://doc.rust-lang.org/std/cell/struct.RefCell.html#method.get_mut)
9017
9121
0 commit comments