Skip to content

Commit 9b588a6

Browse files
committed
Add release notes for 1.58
1 parent 0b42dea commit 9b588a6

File tree

1 file changed

+166
-0
lines changed

1 file changed

+166
-0
lines changed

RELEASES.md

+166
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,169 @@
1+
Version 1.58.0 (2022-01-13)
2+
==========================
3+
4+
Language
5+
--------
6+
7+
- [Format strings can now capture arguments simply by writing `{ident}` in the string.][90473]
8+
- [`*const T` pointers can now be dereferenced in const contexts.][89551]
9+
- [The rules for when a generic struct implements `Unsize` have been relaxed.][90417]
10+
11+
Compiler
12+
--------
13+
14+
- [Add LLVM CFI support to the Rust compiler][89652]
15+
- [Stabilize -Z strip as -C strip][90058]
16+
- [Add support for LLVM coverage mapping format versions 5 and 6][91207]
17+
- [Emit LLVM optimization remarks when enabled with `-Cremark`][90833]
18+
- [Update the minimum external LLVM to 12][90175]
19+
- [Add `x86_64-unknown-none` at Tier 3*][89062]
20+
- [Build musl dist artifacts with debuginfo enabled][90733]
21+
- [Fix CVE-2021-42574][90462]
22+
- [Don't abort compilation after giving a lint error][87337]
23+
- [Error messages point at the source of trait bound obligations in more places][89580]
24+
- [Link with default MACOSX_DEPLOYMENT_TARGET if not otherwise specified.][90499]
25+
26+
\* Refer to Rust's [platform support page][platform-support-doc] for more
27+
information on Rust's tiered platform support.
28+
29+
Libraries
30+
---------
31+
32+
- [Add #[must_use] to Rc::downgrade][89833]
33+
- [Add #[must_use] to expensive computations][89835]
34+
- [Add #[must_use] to mem/ptr functions][89839]
35+
- [Add #[must_use] to remaining core functions][89897]
36+
- [Add #[must_use] to remaining alloc functions][89899]
37+
- [Add #[must_use] to len and is_empty][89786]
38+
- [Add #[must_use] to thread::Builder][89789]
39+
- [Add #[must_use] to alloc functions that would leak memory][90427]
40+
- [Add #[must_use] to remaining std functions (A-N)][90430]
41+
- [Add #[must_use] to remaining std functions (O-Z)][90431]
42+
- [Windows: Resolve `process::Command` program without using the current directory][87704]
43+
- [Paths are automatically canonicalized on Windows for operations that support it][89174]
44+
- [Re-enable `copy[_nonoverlapping]()` debug-checks][90041]
45+
- [Implement `RefUnwindSafe` for `Rc<T>`][87467]
46+
- [Make RSplit<T, P>: Clone not require T: Clone][90117]
47+
- [unix: Make `std::thread::available_concurrency` support process-limited number of CPUs][89310]
48+
- [Implement `Termination` for `Result<Infallible, E>`][88601]
49+
50+
Stabilized APIs
51+
---------------
52+
53+
- [`Metadata::is_symlink`][89677]
54+
- [`Path::is_symlink`][89677]
55+
- [`{integer}::saturating_div`][88624]
56+
- [`Option::unwrap_unchecked`][89951]
57+
- [`NonZero::is_power_of_two`][91301]
58+
- [`unix::process::ExitStatusExt::core_dumped`][88300]
59+
- [`unix::process::ExitStatusExt::stopped_signal`][88300]
60+
- [`unix::process::ExitStatusExt::continued`][88300]
61+
- [`unix::process::ExitStatusExt::into_raw`][88300]
62+
63+
These APIs are now usable in const contexts:
64+
65+
- [Partially stabilize `duration_consts_2`][89542]
66+
- [`Duration::new`][89542]
67+
- [`Duration::checked_add`][89542]
68+
- [`Duration::saturating_add`][89542]
69+
- [`Duration::checked_sub`][89542]
70+
- [`Duration::saturating_sub`][89542]
71+
- [`Duration::checked_mul`][89542]
72+
- [`Duration::saturating_mul`][89542]
73+
- [`Duration::checked_div`][89542]
74+
- [`Duration::as_secs_f64`][89542]
75+
- [`Duration::as_secs_f32`][89542]
76+
- [`Duration::from_secs_f64`][89542]
77+
- [`Duration::from_secs_f32`][89542]
78+
- [`Duration::mul_f64`][89542]
79+
- [`Duration::mul_f32`][89542]
80+
- [`Duration::div_f64`][89542]
81+
- [`Duration::div_f32`][89542]
82+
- [`Duration::div_duration_f64`][89542]
83+
- [`Duration::div_duration_f32`][89542]
84+
- [`MaybeUninit::as_ptr`][90896]
85+
- [`MaybeUninit::as_mut_ptr`][90896]
86+
- [`MaybeUninit::assume_init`][90896]
87+
- [`MaybeUninit::assume_init_ref`][90896]
88+
89+
Cargo
90+
-----
91+
92+
- [Add --message-format for install command][cargo/10107]
93+
- [Warn when alias shadows external subcommand][cargo/10082]
94+
95+
Misc
96+
----
97+
98+
- [Show all Deref implementations recursively in rustdoc][90183]
99+
- [Use computed visibility in rustdoc][88447]
100+
101+
Compatibility Notes
102+
-------------------
103+
104+
- [All proc-macro backward-compatibility lints are now deny-by-default.][88041]
105+
- [proc_macro: Append .0 to unsuffixed float if it would otherwise become int token][90297]
106+
- [Refactor weak symbols in std::sys::unix][90846]
107+
- `RUSTFLAGS` is no longer set for build scripts. This change was made in
108+
1.55, but the release notes did not highlight this change. Build scripts
109+
should use `CARGO_ENCODED_RUSTFLAGS` instead. See the
110+
[documentation](https://doc.rust-lang.org/nightly/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-build-scripts)
111+
for more details.
112+
- [rustdoc doctest: detect `fn main` after an unexpected semicolon][91026]
113+
114+
Internal Changes
115+
----------------
116+
117+
These changes provide no direct user facing benefits, but represent significant
118+
improvements to the internals and overall performance of rustc
119+
and related tools.
120+
121+
- [Try all stable method candidates first before trying unstable ones][90329]
122+
- [Implement coherence checks for negative trait impls][90104]
123+
- [Add rustc lint, warning when iterating over hashmaps][89558]
124+
- [Optimize live point computation][90491]
125+
- [Enable verification for 1/32th of queries loaded from disk][90361]
126+
- [Implement version of normalize_erasing_regions that allows for normalization failure][91255]
127+
128+
[87337]: https://github.com/rust-lang/rust/pull/87337/
129+
[87467]: https://github.com/rust-lang/rust/pull/87467/
130+
[87704]: https://github.com/rust-lang/rust/pull/87704/
131+
[88041]: https://github.com/rust-lang/rust/pull/88041/
132+
[88300]: https://github.com/rust-lang/rust/pull/88300/
133+
[88447]: https://github.com/rust-lang/rust/pull/88447/
134+
[88601]: https://github.com/rust-lang/rust/pull/88601/
135+
[88624]: https://github.com/rust-lang/rust/pull/88624/
136+
[89062]: https://github.com/rust-lang/rust/pull/89062/
137+
[89174]: https://github.com/rust-lang/rust/pull/89174/
138+
[89542]: https://github.com/rust-lang/rust/pull/89542/
139+
[89551]: https://github.com/rust-lang/rust/pull/89551/
140+
[89558]: https://github.com/rust-lang/rust/pull/89558/
141+
[89580]: https://github.com/rust-lang/rust/pull/89580/
142+
[89652]: https://github.com/rust-lang/rust/pull/89652/
143+
[89677]: https://github.com/rust-lang/rust/pull/89677/
144+
[89951]: https://github.com/rust-lang/rust/pull/89951/
145+
[90058]: https://github.com/rust-lang/rust/pull/90058/
146+
[90104]: https://github.com/rust-lang/rust/pull/90104/
147+
[90117]: https://github.com/rust-lang/rust/pull/90117/
148+
[90175]: https://github.com/rust-lang/rust/pull/90175/
149+
[90183]: https://github.com/rust-lang/rust/pull/90183/
150+
[90297]: https://github.com/rust-lang/rust/pull/90297/
151+
[90329]: https://github.com/rust-lang/rust/pull/90329/
152+
[90361]: https://github.com/rust-lang/rust/pull/90361/
153+
[90417]: https://github.com/rust-lang/rust/pull/90417/
154+
[90473]: https://github.com/rust-lang/rust/pull/90473/
155+
[90491]: https://github.com/rust-lang/rust/pull/90491/
156+
[90733]: https://github.com/rust-lang/rust/pull/90733/
157+
[90833]: https://github.com/rust-lang/rust/pull/90833/
158+
[90846]: https://github.com/rust-lang/rust/pull/90846/
159+
[90896]: https://github.com/rust-lang/rust/pull/90896/
160+
[91026]: https://github.com/rust-lang/rust/pull/91026/
161+
[91207]: https://github.com/rust-lang/rust/pull/91207/
162+
[91255]: https://github.com/rust-lang/rust/pull/91255/
163+
[91301]: https://github.com/rust-lang/rust/pull/91301/
164+
[cargo/10082]: https://github.com/rust-lang/cargo/pull/10082/
165+
[cargo/10107]: https://github.com/rust-lang/cargo/pull/10107/
166+
1167
Version 1.57.0 (2021-12-02)
2168
==========================
3169

0 commit comments

Comments
 (0)