Skip to content

Commit 65024d6

Browse files
committed
Add release notes for 1.79.0
1 parent 5baee04 commit 65024d6

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed

RELEASES.md

+143
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,146 @@
1+
Version 1.79.0 (2024-06-13)
2+
==========================
3+
4+
<!-- FIXME: unsorted T-types relnotes -->
5+
- [check `FnDef` return type for WF](https://github.com/rust-lang/rust/pull/115538/)
6+
- [rework opaque type region inference](https://github.com/rust-lang/rust/pull/116891/)
7+
- [instantiate higher ranked goals outside of candidate selection](https://github.com/rust-lang/rust/pull/119820/)
8+
- [Pass list of defineable opaque types into canonical queries](https://github.com/rust-lang/rust/pull/122077/)
9+
- [Eagerly instantiate closure/coroutine-like bounds with placeholders to deal with binders correctly](https://github.com/rust-lang/rust/pull/122267/)
10+
- [Use fulfillment in method probe, not evaluation](https://github.com/rust-lang/rust/pull/122317/)
11+
- [Make inductive cycles always ambiguous](https://github.com/rust-lang/rust/pull/122791/)
12+
- [Enforce closure args + return type are WF](https://github.com/rust-lang/rust/pull/123531/)
13+
- [Fix trait solver overflow with `non_local_definitions` lint](https://github.com/rust-lang/rust/pull/123594/)
14+
- [More DefineOpaqueTypes::Yes](https://github.com/rust-lang/rust/pull/123794/)
15+
16+
<a id="1.79.0-Language"></a>
17+
18+
Language
19+
--------
20+
- [Stabilize inline `const {}` expressions.](https://github.com/rust-lang/rust/pull/104087/)
21+
- [Prevent opaque types being instantiated twice with different regions within the same function.](https://github.com/rust-lang/rust/pull/116935/)
22+
- [Stabilize WebAssembly target features that are in phase 4 and 5.](https://github.com/rust-lang/rust/pull/117457/)
23+
- [Add the `redundant_lifetimes` lint to detect lifetimes which are semantically redundant.](https://github.com/rust-lang/rust/pull/118391/)
24+
- [Stabilize the `unnameable_types` lint for public types that can't be named.](https://github.com/rust-lang/rust/pull/120144/)
25+
- [Enable debuginfo in macros, and stabilize `-C collapse-macro-debuginfo` and `#[collapse_debuginfo]`.](https://github.com/rust-lang/rust/pull/120845/)
26+
- [Propagate temporary lifetime extension into `if` and `match` expressions.](https://github.com/rust-lang/rust/pull/121346/)
27+
- [Restrict promotion of `const fn` calls.](https://github.com/rust-lang/rust/pull/121557/)
28+
- [Split `refining_impl_trait` lint into `_reachable`, `_internal` variants.](https://github.com/rust-lang/rust/pull/121720/)
29+
- [Stabilize associated type bounds (RFC 2289).](https://github.com/rust-lang/rust/pull/122055/)
30+
31+
<a id="1.79.0-Compiler"></a>
32+
33+
Compiler
34+
--------
35+
- [Define `-C strip` to only affect binaries, not artifacts like `.pdb`.](https://github.com/rust-lang/rust/pull/115120/)
36+
- [Stabilize `-Crelro-level` for controlling runtime link hardening.](https://github.com/rust-lang/rust/pull/121694/)
37+
- [Stabilize importing `main` from other modules or crates.](https://github.com/rust-lang/rust/pull/122060/)
38+
- [Stabilize checking of `cfg` names at compile-time with `--check-cfg`.](https://github.com/rust-lang/rust/pull/123501/)
39+
- [Add `aarch64-apple-visionos` and `aarch64-apple-visionos-sim` tier 3 targets.](https://github.com/rust-lang/rust/pull/121419/)
40+
- [Add `riscv32ima-unknown-none-elf` tier 3 target.](https://github.com/rust-lang/rust/pull/122696/)
41+
42+
Refer to Rust's [platform support page][platform-support-doc]
43+
for more information on Rust's tiered platform support.
44+
45+
<a id="1.79.0-Libraries"></a>
46+
47+
Libraries
48+
---------
49+
50+
- [Implement `FromIterator` for `(impl Default + Extend, impl Default + Extend)`.](https://github.com/rust-lang/rust/pull/107462/)
51+
- [Implement `{Div,Rem}Assign<NonZero<X>>` on `X`.](https://github.com/rust-lang/rust/pull/121952/)
52+
- [Document overrides of `clone_from()` in core/std.](https://github.com/rust-lang/rust/pull/122201/)
53+
- [Link MSVC default lib in core.](https://github.com/rust-lang/rust/pull/122268/)
54+
- [Caution against using `transmute` between pointers and integers.](https://github.com/rust-lang/rust/pull/122379/)
55+
- [Enable frame pointers for the standard library.](https://github.com/rust-lang/rust/pull/122646/)
56+
57+
<a id="1.79.0-Stabilized-APIs"></a>
58+
59+
Stabilized APIs
60+
---------------
61+
62+
- [`{integer}::unchecked_add`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add)
63+
- [`{integer}::unchecked_mul`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul)
64+
- [`{integer}::unchecked_sub`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub)
65+
- [`<[T]>::split_at_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked)
66+
- [`<[T]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
67+
- [`<[u8]>::utf8_chunks`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8_chunks)
68+
- [`str::Utf8Chunks`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html)
69+
- [`str::Utf8Chunk`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html)
70+
- [`<*const T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned)
71+
- [`<*mut T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1)
72+
- [`NonNull::is_aligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned)
73+
- [`<*const [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len)
74+
- [`<*mut [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1)
75+
- [`<*const [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty)
76+
- [`<*mut [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1)
77+
- [`NonNull::is_empty`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty)
78+
- [`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)
79+
- [`io::Error::downcast`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast)
80+
- [`num::NonZero<T>`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html)
81+
- [`path::absolute`](https://doc.rust-lang.org/stable/std/path/fn.absolute.html)
82+
- [`proc_macro::Literal::byte_character`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character)
83+
- [`proc_macro::Literal::c_string`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string)
84+
85+
These APIs are now stable in const contexts:
86+
87+
- [`Atomic*::into_inner`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner)
88+
- [`io::Cursor::new`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new)
89+
- [`io::Cursor::get_ref`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref)
90+
- [`io::Cursor::position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position)
91+
- [`io::empty`](https://doc.rust-lang.org/stable/std/io/fn.empty.html)
92+
- [`io::repeat`](https://doc.rust-lang.org/stable/std/io/fn.repeat.html)
93+
- [`io::sink`](https://doc.rust-lang.org/stable/std/io/fn.sink.html)
94+
- [`panic::Location::caller`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller)
95+
- [`panic::Location::file`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file)
96+
- [`panic::Location::line`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line)
97+
- [`panic::Location::column`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column)
98+
99+
<a id="1.79.0-Cargo"></a>
100+
101+
Cargo
102+
-----
103+
104+
- [Prevent dashes in `lib.name`, always normalizing to `_`.](https://github.com/rust-lang/cargo/pull/12783/)
105+
- [Stabilize MSRV-aware version requirement selection in `cargo add`.](https://github.com/rust-lang/cargo/pull/13608/)
106+
- [Switch to using `gitoxide` by default for listing files.](https://github.com/rust-lang/cargo/pull/13696/)
107+
- [Error on `[project]` in Edition 2024; `cargo fix --edition` will change it to `[package]`.](https://github.com/rust-lang/cargo/pull/13747/)
108+
109+
<a id="1.79.0-Rustdoc"></a>
110+
111+
Rustdoc
112+
-----
113+
114+
- [Always display stability version even if it's the same as the containing item.](https://github.com/rust-lang/rust/pull/118441/)
115+
- [Show a single search result for items with multiple paths.](https://github.com/rust-lang/rust/pull/119912/)
116+
- [Support typing `/` in docs to begin a search.](https://github.com/rust-lang/rust/pull/123355/)
117+
118+
<a id="1.79.0-Misc"></a>
119+
120+
Misc
121+
----
122+
123+
<a id="1.79.0-Compatibility-Notes"></a>
124+
125+
Compatibility Notes
126+
-------------------
127+
128+
- [Update the minimum external LLVM to 17.](https://github.com/rust-lang/rust/pull/122649/)
129+
- [`RustcEncodable` and `RustcDecodable` are soft-destabilized, to be removed
130+
from the prelude in next edition.](https://github.com/rust-lang/rust/pull/116016/)
131+
- [The `wasm_c_abi` future-incompatibility lint will warn about use of the
132+
non-spec-compliant C ABI.](https://github.com/rust-lang/rust/pull/117918/)
133+
Use `wasm-bindgen v0.2.88` to generate forward-compatible bindings.
134+
135+
<a id="1.79.0-Internal-Changes"></a>
136+
137+
Internal Changes
138+
----------------
139+
140+
These changes do not affect any public interfaces of Rust, but they represent
141+
significant improvements to the performance or internals of rustc and related
142+
tools.
143+
1144
Version 1.78.0 (2024-05-02)
2145
==========================
3146

0 commit comments

Comments
 (0)