File _patchinfo of Package patchinfo.25292
<patchinfo incident="25292">
<issue tracker="jsc" id="SLE-18626"/>
<packager>firstyear</packager>
<rating>moderate</rating>
<category>recommended</category>
<summary>Recommended update for rust, rust1.62</summary>
<description>This update for rust, rust1.62 fixes the following issues:
This update delivers rust1.62.
- Improve support for wasi targets
Version 1.62.1 (2022-07-19)
==========================
Rust 1.62.1 addresses a few recent regressions in the compiler and standard
library, and also mitigates a CPU vulnerability on Intel SGX.
* The compiler fixed unsound function coercions involving `impl Trait` return types.
* The compiler fixed an incremental compilation bug with `async fn` lifetimes.
* Windows added a fallback for overlapped I/O in synchronous reads and writes.
* The `x86_64-fortanix-unknown-sgx` target added a mitigation for the MMIO stale data vulnerability,
advisory [INTEL-SA-00615].
- Experimental support for wasi targets
Version 1.62.0 (2022-06-30)
==========================
Language
--------
- Stabilize `#[derive(Default)]` on enums with a `#[default]` variant
- Teach flow sensitive checks that visibly uninhabited call expressions never return
- Fix constants not getting dropped if part of a diverging expression
- Support unit struct/enum variant in destructuring assignment][95380
- Remove mutable_borrow_reservation_conflict lint and allow the code pattern
Compiler
--------
- linker: Stop using whole-archive on dependencies of dylibs
- Make `unaligned_references` lint deny-by-default
This lint is also a future compatibility lint, and is expected to eventually
become a hard error.
- Only add codegen backend to dep info if -Zbinary-dep-depinfo is used
- Reject `#[thread_local]` attribute on non-static items
- Add tier 3 `aarch64-pc-windows-gnullvm` and `x86_64-pc-windows-gnullvm` targets\*
- Implement a lint to warn about unused macro rules
- Promote `x86_64-unknown-none` target to Tier 2
* Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support.
Libraries
---------
- Windows: Use a pipe relay for chaining pipes
- Replace Linux Mutex and Condvar with futex based ones.
- Replace RwLock by a futex based one on Linux
- std: directly use pthread in UNIX parker implementation
Stabilized APIs
---------------
- `bool::then_some`
- `f32::total_cmp`
- `f64::total_cmp`
- `Stdin::lines`
- `windows::CommandExt::raw_arg`
- `impl<T: Default> Default for AssertUnwindSafe<T>`
- `From<Rc<str>> for Rc<[u8]>` rc-u8-from-str
- `From<Arc<str>> for Arc<[u8]>` arc-u8-from-str
- `FusedIterator for EncodeWide`
- RDM intrinsics on aarch64 stdarch/1285
Clippy
------
- Create clippy lint against unexpectedly late drop for temporaries in match scrutinee expressions
Cargo
-----
- Added the `cargo add` command for adding dependencies to `Cargo.toml` from
the command-line.
[docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-add.html)
- Package ID specs now support `name@version` syntax in addition to the
previous `name:version` to align with the behavior in `cargo add` and other
tools. `cargo install` and `cargo yank` also now support this syntax so the
version does not need to passed as a separate flag.
- The `git` and `registry` directories in Cargo's home directory (usually
`~/.cargo`) are now marked as cache directories so that they are not
included in backups or content indexing (on Windows).
- Added automatic `@` argfile support, which will use "response files" if the
command-line to `rustc` exceeds the operating system's limit.
Compatibility Notes
-------------------
- `cargo test` now passes `--target` to `rustdoc` if the specified target is
the same as the host target.
- rustdoc: doctests are now run on unexported `macro_rules!` macros, matching other private items
- rustdoc: Remove .woff font files
- Enforce Copy bounds for repeat elements while considering lifetimes
- Windows: Fix potentinal unsoundness by aborting if `File` reads or writes cannot
complete synchronously.
</description>
</patchinfo>