Skip to content

Commit fd944a7

Browse files
Import generated relnotes for 1.85
1 parent 854f225 commit fd944a7

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed

RELEASES.md

+141
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,144 @@
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 `system`, `aapcs`, `sysv64`, `win64`, and `efiapi` calling conventions. `C` and `cdecl` were previously stable.
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](https://github.com/rust-lang/rust/pull/132706)
14+
See [RFC 3668](https://rust-lang.github.io/rfcs/3668-async-closures.html) for more details.
15+
- [The 2024 Edition is now stable.](https://github.com/rust-lang/rust/pull/133349)
16+
See [the edition guide](https://doc.rust-lang.org/nightly/edition-guide/rust-2024/index.html) for more details.
17+
18+
19+
<a id="1.85.0-Compiler"></a>
20+
21+
Compiler
22+
--------
23+
- [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.
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+
- [`std::env::home_dir()` no longer respects `$HOME` on Windows](https://github.com/rust-lang/rust/pull/132515)
42+
It will be un-deprecated in a subsequent release.
43+
- [Add `AsyncFn*` to the prelude in all editions.](https://github.com/rust-lang/rust/pull/132611)
44+
45+
46+
<a id="1.85.0-Stabilized-APIs"></a>
47+
48+
Stabilized APIs
49+
---------------
50+
51+
- [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new)
52+
- [`ptr::fn_addr_eq`](https://doc.rust-lang.org/std/ptr/fn.fn_addr_eq.html)
53+
- [`io::ErrorKind::QuotaExceeded`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.QuotaExceeded)
54+
- [`io::ErrorKind::CrossesDevices`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.CrossesDevices)
55+
- [`{float}::midpoint`](https://doc.rust-lang.org/core/primitive.f32.html#method.midpoint)
56+
- [Unsigned `{integer}::midpoint`](https://doc.rust-lang.org/std/primitive.u64.html#method.midpoint)
57+
- [`NonZeroU*::midpoint`](https://doc.rust-lang.org/std/num/type.NonZeroU32.html#method.midpoint)
58+
- [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,))
59+
- [`FromIterator<(A, ...)>` for tuples with arity 1 through 12](https://doc.rust-lang.org/stable/std/iter/trait.FromIterator.html#impl-FromIterator%3C(EA,)%3E-for-(A,))
60+
- [`std::task::Waker::noop`](https://doc.rust-lang.org/stable/std/task/struct.Waker.html#method.noop)
61+
62+
63+
These APIs are now stable in const contexts:
64+
65+
- [`mem::size_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.size_of_val.html)
66+
- [`mem::align_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.align_of_val.html)
67+
- [`Layout::for_value`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.for_value)
68+
- [`Layout::align_to`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.align_to)
69+
- [`Layout::pad_to_align`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.pad_to_align)
70+
- [`Layout::extend`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.extend)
71+
- [`Layout::array`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.array)
72+
- [`std::mem::swap`](https://doc.rust-lang.org/stable/std/mem/fn.swap.html)
73+
- [`std::ptr::swap`](https://doc.rust-lang.org/stable/std/ptr/fn.swap.html)
74+
- [`NonNull::new`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.new)
75+
- [`HashMap::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.with_hasher)
76+
- [`HashSet::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.with_hasher)
77+
- [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new)
78+
- [`<float>::recip`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.recip)
79+
- [`<float>::to_degrees`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_degrees)
80+
- [`<float>::to_radians`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_radians)
81+
- [`<float>::max`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.max)
82+
- [`<float>::min`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.min)
83+
- [`<float>::clamp`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.clamp)
84+
- [`<float>::abs`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.abs)
85+
- [`<float>::signum`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.signum)
86+
- [`<float>::copysign`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.copysign)
87+
- [`MaybeUninit::write`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write)
88+
89+
90+
<a id="1.85.0-Cargo"></a>
91+
92+
Cargo
93+
-----
94+
- [Add future-incompat warning against keywords in cfgs and add raw-idents](https://github.com/rust-lang/cargo/pull/14671/)
95+
- [fix(cargo-rustc): stabilize higher precedence trailing flags](https://github.com/rust-lang/cargo/pull/14900/)
96+
- [feat(build-script): Pass CARGO_CFG_FEATURE ](https://github.com/rust-lang/cargo/pull/14902/)
97+
98+
<a id="1.85.0-Rustdoc"></a>
99+
100+
Rustdoc
101+
-----
102+
- [Doc comment on impl blocks shows the first line, even when the impl block is collapsed](https://github.com/rust-lang/rust/pull/132155)
103+
104+
105+
<a id="1.85.0-Compatibility-Notes"></a>
106+
107+
Compatibility Notes
108+
-------------------
109+
- [`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)`.
110+
This is done to enable build systems like Cargo to set it conditionally, as not all source files are suitable for unit tests.
111+
[Cargo (for now) unconditionally sets the `test` cfg as a well known cfg](https://github.com/rust-lang/cargo/pull/14963).
112+
[^check-cfg]: https://doc.rust-lang.org/nightly/rustc/check-cfg.html
113+
- [Disable potentially incorrect type inference if there are trivial and non-trivial where-clauses](https://github.com/rust-lang/rust/pull/132325)
114+
- `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 avoided changing 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. A subsequent release will remove the deprecation for this function.
115+
- [More closely match clang behavior for definition of `core::ffi::c_char`](https://github.com/rust-lang/rust/pull/132975)
116+
On many targets, this has changed the definition of `c_char`, resulting in potential compilation issues.
117+
The new definition is more likely to be accurate for the corresponding C definition on the relevant target.
118+
The `libc` crate matches this change as of its 0.2.169 release.
119+
- [Increase `sparcv9-sun-solaris` and `x86_64-pc-solaris` Solaris baseline to 11.4.](https://github.com/rust-lang/rust/pull/133293)
120+
- [Show `abi_unsupported_vector_types` lint in future breakage reports](https://github.com/rust-lang/rust/pull/133374)
121+
- [Error if multiple super-trait instantiations of `dyn Trait` need associated types to be specified but only one is provided](https://github.com/rust-lang/rust/pull/133392)
122+
- [Change `powerpc64-ibm-aix` default `codemodel` to large](https://github.com/rust-lang/rust/pull/133811)
123+
124+
125+
<a id="1.85.0-Internal-Changes"></a>
126+
127+
Internal Changes
128+
----------------
129+
130+
These changes do not affect any public interfaces of Rust, but they represent
131+
significant improvements to the performance or internals of rustc and related
132+
tools.
133+
134+
- [Build `x86_64-unknown-linux-gnu` with LTO for C/C++ code (e.g., `jemalloc`)](https://github.com/rust-lang/rust/pull/134690)
135+
136+
137+
138+
Other
139+
-----
140+
141+
1142
Version 1.84.1 (2025-01-30)
2143
==========================
3144

0 commit comments

Comments
 (0)