You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASES.md
+41-34
Original file line number
Diff line number
Diff line change
@@ -13,17 +13,14 @@ Compiler
13
13
--------
14
14
15
15
- [Linking modifier syntax in `#[link]` attributes and on the command line, as well as the `whole-archive` modifier specifically, are now supported][93901]
16
-
- [Update to LLVM 14.0.0][95247]
17
16
- [The `char` type is now described as UTF-32 in debuginfo][89887]
18
17
- The [`#[target_feature]`][target_feature] attribute [can now be used with aarch64 features][90621]
19
18
- X86 [`#[target_feature = "adx"]` is now stable][93745]
20
-
- [Catching a second unwind from FFI code while cleaning up from a Rust panic now causes the process to abort][92911]
21
19
22
20
Libraries
23
21
---------
24
22
25
23
- [`ManuallyDrop<T>` is now documented to have the same layout as `T`][88375]
26
-
- [Windows paths longer than 260 chars are now supported in `process::Command` without needing explicit canonicalization][92519]
27
24
- [`#[ignore = "…"]` messages are printed when running tests][92714]
28
25
- [Consistently present absent stdio handles on Windows as NULL handles][93263]
29
26
- [Make `std::io::stdio::lock()` return `'static` handles.][93965] Previously, the creation of locked handles to stdin/stdout/stderr would borrow the handles being locked, which prevented writing `let out = std::io::stdout().lock();` because `out` would outlive the return value of `stdout()`. Such code now works, eliminating a common pitfall that affected many Rust users.
- [`std::process::ExitCode`][93840] and [`std::process::Termination`][93840]. The stabilization of these two APIs now makes it possible for programs to return errors from `main` with custom exit codes.
45
-
- [`std::thread::JoinHandle::is_finished`][95130]
33
+
- [`Pin::static_mut`]
34
+
- [`Pin::static_ref`]
35
+
- [`Vec::retain_mut`]
36
+
- [`VecDeque::retain_mut`]
37
+
- [`Write` for `Cursor<[u8; N]>`][cursor-write-array]
- [`std::process::ExitCode`] and [`std::process::Termination`]. The stabilization of these two APIs now makes it possible for programs to return errors from `main` with custom exit codes.
40
+
- [`std::thread::JoinHandle::is_finished`]
46
41
47
42
These APIs are now usable in const contexts:
48
43
49
-
- [`*const T::offset` and `*mut T::offset`][93957]
50
-
- [`*const T::wrapping_offset` and `*mut T::wrapping_offset`][93957]
51
-
- [`*const T::add` and `*mut T::add`][93957]
52
-
- [`*const T::sub` and `*mut T::sub`][93957]
53
-
- [`*const T::wrapping_add` and `*mut T::wrapping_add`][93957]
54
-
- [`*const T::wrapping_sub` and `*mut T::wrapping_sub`][93957]
55
-
- [`[T]::as_mut_ptr`][93957]
56
-
- [`[T]::as_ptr_range`][93957]
57
-
- [`[T]::as_mut_ptr_range`][93957]
44
+
- [`<*const T>::offset` and `<*mut T>::offset`][ptr-offset]
45
+
- [`<*const T>::wrapping_offset` and `<*mut T>::wrapping_offset`][ptr-wrapping_offset]
46
+
- [`<*const T>::add` and `<*mut T>::add`][ptr-add]
47
+
- [`<*const T>::sub` and `<*mut T>::sub`][ptr-sub]
48
+
- [`<*const T>::wrapping_add` and `<*mut T>::wrapping_add`][ptr-wrapping_add]
49
+
- [`<*const T>::wrapping_sub` and `<*mut T>::wrapping_sub`][ptr-wrapping_sub]
@@ -64,7 +59,10 @@ No feature changes, but see compatibility notes.
64
59
Compatibility Notes
65
60
-------------------
66
61
67
-
- [Disable `#[thread_local]` support on i686-pc-windows-msvc][95430]
62
+
- Previously native static libraries were linked as `whole-archive` in some cases, but now rustc tries not to use `whole-archive` unless explicitly requested. This [change][93901] may result in linking errors in some cases. To fix such errors, native libraries linked from the command line, build scripts, or [`#[link]` attributes][link-attr] need to
63
+
- (more common) either be reordered to respect dependencies between them (if `a` depends on `b` then `a` should go first and `b` second)
64
+
- (less common) or be updated to use the [`+whole-archive`] modifier.
65
+
- [Catching a second unwind from FFI code while cleaning up from a Rust panic now causes the process to abort][92911]
68
66
- [Proc macros no longer see `ident` matchers wrapped in groups][92472]
69
67
- [The number of `#` in `r#` raw string literals is now required to be less than 256][95251]
70
68
- [When checking that a dyn type satisfies a trait bound, supertrait bounds are now enforced][92285]
0 commit comments