Skip to content

Commit e33f84a

Browse files
Import initial generated relnotes
1 parent 9f4d9dc commit e33f84a

File tree

1 file changed

+132
-0
lines changed

1 file changed

+132
-0
lines changed

RELEASES.md

+132
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,135 @@
1+
Version 1.85.0 (2025-02-20)
2+
==========================
3+
4+
<a id="1.85.0-Language"></a>
5+
6+
Language
7+
--------
8+
- [Support var-args for more calling conventions](https://github.com./rust-lang/rust/pull/116161)
9+
This stabilizes usage of `...` variable args in extern declarations for `cdecl`, `system`, `aapcs`, `sysv64`, `win64`, and `efiapi` calling conventions.
10+
- [Add `unpredictable_function_pointer_comparisons` lint to warn against function pointer comparisons](https://github.com./rust-lang/rust/pull/118833)
11+
- [Lint on combining `#[no_mangle]` and `#[export_name]` attributes.](https://github.com./rust-lang/rust/pull/131558)
12+
- [Stabilize `#[diagnostic::do_not_recommend]`](https://github.com./rust-lang/rust/pull/132056)
13+
- [Stabilize async closures (RFC 3668)](https://github.com./rust-lang/rust/pull/132706)
14+
- [The 2024 Edition is now stable.](https://github.com./rust-lang/rust/pull/133349)
15+
See [the edition guide](https://doc.rust-lang.org/nightly/edition-guide/rust-2024/index.html) for more details.
16+
17+
18+
<a id="1.85.0-Compiler"></a>
19+
20+
Compiler
21+
--------
22+
- [The unstable flag `-Zpolymorphize` has been removed](https://github.com./rust-lang/rust/pull/133883), see https://github.com./rust-lang/compiler-team/issues/810 for some background.
23+
- [Enable LSX feature for `loongarch64_unknown_linux_ohos`.](https://github.com./rust-lang/rust/pull/134751)
24+
25+
26+
<a id="1.85.0-Platform-Support"></a>
27+
28+
Platform Support
29+
----------------
30+
- [Promote `powerpc64le-unknown-linux-musl` to tier 2 with host tools](https://github.com./rust-lang/rust/pull/133801)
31+
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.85.0-Libraries"></a>
37+
38+
Libraries
39+
---------
40+
- [Panics in the standard library now have a leading `library/` in their path](https://github.com./rust-lang/rust/pull/132390)
41+
- [Fix and undeprecate home_dir()](https://github.com./rust-lang/rust/pull/132515)
42+
- [Add `AsyncFn*` to the prelude in all editions.](https://github.com./rust-lang/rust/pull/132611)
43+
44+
45+
<a id="1.85.0-Stabilized-APIs"></a>
46+
47+
Stabilized APIs
48+
---------------
49+
50+
- [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new)
51+
- [`ptr::fn_addr_eq`](https://doc.rust-lang.org/std/ptr/fn.fn_addr_eq.html)
52+
- [`io::ErrorKind::QuotaExceeded`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.QuotaExceeded)
53+
- [`io::ErrorKind::CrossesDevices`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.CrossesDevices)
54+
- [`{float}::midpoint`](https://doc.rust-lang.org/core/primitive.f32.html#method.midpoint)
55+
- [Unsigned `{integer}::midpoint`](https://doc.rust-lang.org/std/primitive.u64.html#method.midpoint)
56+
- [`NonZeroU*::midpoint`](https://doc.rust-lang.org/std/num/type.NonZeroU32.html#method.midpoint)
57+
- [impl std::iter::Extend for tuples with arity 1 through 12](https://doc.rust-lang.org/stable/std/iter/trait.Extend.html#impl-Extend%3C(A,)%3E-for-(EA,))
58+
- [FromIterator<(A, ...)> for (A, ...)](https://doc.rust-lang.org/stable/std/iter/trait.FromIterator.html#impl-FromIterator%3C(EA,)%3E-for-(A,)) (FromIterator for N-tuple for N in 1..=12)
59+
- [`std::task::Waker::noop`](https://doc.rust-lang.org/stable/std/task/struct.Waker.html#method.noop)
60+
61+
62+
These APIs are now stable in const contexts:
63+
64+
- [`mem::size_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.size_of_val.html)
65+
- [`mem::align_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.align_of_val.html)
66+
- [`Layout::for_value`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.for_value)
67+
- [`Layout::align_to`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.align_to)
68+
- [`Layout::pad_to_align`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.pad_to_align)
69+
- [`Layout::extend`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.extend)
70+
- [`Layout::array`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.array)
71+
- [`NonNull::new`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.new)
72+
- [`HashMap::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.with_hasher)
73+
- [`HashSet::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.with_hasher)
74+
- [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new)
75+
- [`<float>::recip`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.recip)
76+
- [`<float>::to_degrees`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_degrees)
77+
- [`<float>::to_radians`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_radians)
78+
- [`<float>::max`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.max)
79+
- [`<float>::min`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.min)
80+
- [`<float>::clamp`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.clamp)
81+
- [`<float>::abs`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.abs)
82+
- [`<float>::signum`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.signum)
83+
- [`<float>::copysign`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.copysign)
84+
- [`MaybeUninit::write`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write)
85+
86+
87+
<a id="1.85.0-Cargo"></a>
88+
89+
Cargo
90+
-----
91+
- [Add future-incompat warning against keywords in cfgs and add raw-idents](https://github.com./rust-lang/cargo/pull/14671/)
92+
- [fix(cargo-rustc): stabilize higher precedence trailing flags](https://github.com./rust-lang/cargo/pull/14900/)
93+
- [feat(build-script): Pass CARGO_CFG_FEATURE ](https://github.com./rust-lang/cargo/pull/14902/)
94+
95+
<a id="1.85.0-Rustdoc"></a>
96+
97+
Rustdoc
98+
-----
99+
- [Doc comment on impl blocks shows the first line, even when the impl block is collapsed](https://github.com./rust-lang/rust/pull/132155)
100+
101+
102+
<a id="1.85.0-Compatibility-Notes"></a>
103+
104+
Compatibility Notes
105+
-------------------
106+
- [`rustc` no longer treats the `test` cfg as a well known check-cfg](https://github.com./rust-lang/rust/pull/131729), instead it is up to the build systems and users of `--check-cfg`[^check-cfg] to set it as a well known cfg using `--check-cfg=cfg(test)`.
107+
This is done to enable build systems like Cargo to set it conditionally, as not all source files are suitable for unit tests.
108+
[Cargo (for now) unconditionally sets the `test` cfg as a well known cfg](https://github.com./rust-lang/cargo/pull/14963).
109+
[^check-cfg]: https://doc.rust-lang.org/nightly/rustc/check-cfg.html
110+
- [Disable potentially incorrect type inference if there are trivial and non-trivial where-clauses](https://github.com./rust-lang/rust/pull/132325)
111+
- `std::env::home_dir()` has been deprecated for years, because it can give surprising results in some Windows configurations if the `HOME` environment variable is set (which is not the normal configuration on Windows). We had previously changed its behavior, out of concern for compatibility with code depending on this non-standard configuration. Given how long this function has been deprecated, we're now fixing its behavior as a bugfix, and the next version will undeprecate it. (We deferred undeprecating it on nightly until today's stable release, to avoid potential confusion between the fixed version on nightly and the previously unfixed version on stable.)
112+
- [More closely match clang behavior for definition of core::ffi::c_char](https://github.com./rust-lang/rust/pull/132975)
113+
On many targets, this has changed the definition of c_char, resulting in potential compilation issues.
114+
The new definition is more likely to be accurate for the corresponding C definition on the relevant target.
115+
The libc crate matches this change as of its 0.2.169 release.
116+
- [Increase `sparcv9-sun-solaris` and `x86_64-pc-solaris` Solaris baseline to 11.4.](https://github.com./rust-lang/rust/pull/133293)
117+
- [Show `abi_unsupported_vector_types` lint in future breakage reports](https://github.com./rust-lang/rust/pull/133374)
118+
- [Error if multiple super-trait instantiations of `dyn Trait` need assoc but only one is provided](https://github.com./rust-lang/rust/pull/133392)
119+
- [Change `powerpc64-ibm-aix` default `codemodel` to large](https://github.com./rust-lang/rust/pull/133811)
120+
121+
122+
<a id="1.85.0-Internal-Changes"></a>
123+
124+
Internal Changes
125+
----------------
126+
127+
These changes do not affect any public interfaces of Rust, but they represent
128+
significant improvements to the performance or internals of rustc and related
129+
tools.
130+
131+
- [Build x86_64-unknown-linux-gnu with LTO for C/C++ code (e.g., jemalloc)](https://github.com./rust-lang/rust/pull/134690)
132+
1133
Version 1.84.0 (2025-01-09)
2134
==========================
3135

0 commit comments

Comments
 (0)