forked from pool/rust1.71
William Brown b9f728b107 Accepting request 1102264 from home:firstyear:branches:devel:languages:rust
- Update to version 1.71.1
- bsc#1213817 - CVE-2023-38497 - Cargo does not respect the umask
  when extracting dependencies

2023-08-04 05:50:10 +00:00

127 lines
8.6 KiB

Fri Aug 4 04:14:29 UTC 2023 - William Brown <>
- Update to version 1.71.1
- bsc#1213817 - CVE-2023-38497 - Cargo does not respect the umask
when extracting dependencies
Mon Jul 17 02:20:27 UTC 2023 - William Brown <>
Version 1.71.0 (2023-07-13)
- [Stabilize `raw-dylib`, `link_ordinal`, `import_name_type` and `-Cdlltool`.](
- [Uplift `clippy::{drop,forget}_{ref,copy}` lints.](
- [Type inference is more conservative around constrained vars.](
- [Use fulfillment to check `Drop` impl compatibility](
- [Evaluate place expression in `PlaceMention`](,
making `let _ =` patterns more consistent with respect to the borrow checker.
- [Add `--print deployment-target` flag for Apple targets.](
- [Stabilize `extern "C-unwind"` and friends.](
The existing `extern "C"` etc. may change behavior for cross-language unwinding in a future release.
- [Update the version of musl used on `*-linux-musl` targets to 1.2.3](,
enabling [time64]( on 32-bit systems.
- [Stabilize `debugger_visualizer`](
for embedding metadata like Microsoft's Natvis.
- [Enable flatten-format-args by default.](
- [Make `Self` respect tuple constructor privacy.](
- [Improve niche placement by trying two strategies and picking the better result.](
- [Use `apple-m1` as the target CPU for `aarch64-apple-darwin`.](
- [Add Tier 3 support for the `x86_64h-apple-darwin` target.](
- [Promote `loongarch64-unknown-linux-gnu` to Tier 2 with host tools.](
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
- [Rework handling of recursive panics.](
Additional panics are allowed while unwinding, as long as they are caught before escaping
a `Drop` implementation, but panicking within a panic hook is now an immediate abort.
- [Loosen `From<&[T]> for Box<[T]>` bound to `T: Clone`.](
- [Remove unnecessary `T: Send` bound](
in `Error for mpsc::SendError<T>` and `TrySendError<T>`.
- [Fix docs for `alloc::realloc`](
to match `Layout` requirements that the size must not exceed `isize::MAX`.
- [Document `const {}` syntax for `std::thread_local`.](
This syntax was stabilized in Rust 1.59, but not previously mentioned in release notes.
Stabilized APIs
- [`CStr::is_empty`](
- [`BuildHasher::hash_one`](
- [`NonZeroI*::is_positive`](
- [`NonZeroI*::is_negative`](
- [`NonZeroI*::checked_neg`](
- [`NonZeroI*::overflowing_neg`](
- [`NonZeroI*::saturating_neg`](
- [`NonZeroI*::wrapping_neg`](
- [`Neg for NonZeroI*`](
- [`Neg for &NonZeroI*`](
- [`From<[T; N]> for (T...)`](;+1%5D%3E-for-(T,))
(array to N-tuple for N in 1..=12)
- [`From<(T...)> for [T; N]`](,)%3E-for-%5BT;+1%5D)
(N-tuple to array for N in 1..=12)
- [`windows::io::AsHandle for Box<T>`](
- [`windows::io::AsHandle for Rc<T>`](
- [`windows::io::AsHandle for Arc<T>`](
- [`windows::io::AsSocket for Box<T>`](
- [`windows::io::AsSocket for Rc<T>`](
- [`windows::io::AsSocket for Arc<T>`](
These APIs are now stable in const contexts:
- [`<*const T>::read`](
- [`<*const T>::read_unaligned`](
- [`<*mut T>::read`](
- [`<*mut T>::read_unaligned`](
- [`ptr::read`](
- [`ptr::read_unaligned`](
- [`<[T]>::split_at`](
- [Allow named debuginfo options in `Cargo.toml`.](
- [Add `workspace_default_members` to the output of `cargo metadata`.](
- [`cargo add` now considers `rust-version` when selecting packages.](
- [Automatically inherit workspace fields when running `cargo new`/`cargo init`.](
- [Add a new `rustdoc::unescaped_backticks` lint for broken inline code.](
- [Support strikethrough with single tildes.]( (`~~old~~` vs. `~new~`)
Compatibility Notes
- [Remove structural match from `TypeId`.](
Code that uses a constant `TypeId` in a pattern will potentially be broken.
Known cases have already been fixed -- in particular, users of the `log`
crate's `kv_unstable` feature should update to `log v0.4.18` or later.
- [Add a `sysroot` crate to represent the standard library crates.](
This does not affect stable users, but may require adjustment in tools that build their own standard library.
- [Cargo optimizes its usage under `rustup`.]( When
Cargo detects it will run `rustc` pointing to a rustup proxy, it'll try bypassing the proxy and
use the underlying binary directly. There are assumptions around the interaction with rustup and
`RUSTUP_TOOLCHAIN`. However, it's not expected to affect normal users.
- [When querying a package, Cargo tries only the original name, all hyphens, and all underscores to
handle misspellings.]( Previously, Cargo tried each
combination of hyphens and underscores, causing excessive requests to
- Cargo now [disallows `RUSTUP_HOME`]( and
[`RUSTUP_TOOLCHAIN`]( in the `[env]` configuration
table. This is considered to be not a use case Cargo would like to support, since it will likely
cause problems or lead to confusion.