1.62.0 (30 June, 2022) #
#[derive(Default)]on enums with a
- 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
- Remove mutable_borrow_reservation_conflict lint and allow the code pattern
constfunctions may now specify
- linker: Stop using whole-archive on dependencies of dylibs
unaligned_referenceslint 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
#[thread_local]attribute on non-static items
- Add tier 3
- Implement a lint to warn about unused macro rules
x86_64-unknown-nonetarget to Tier 2*
* Refer to Rust’s [platform support page][platform-support-doc] for more information on Rust’s tiered platform support.
- 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 #
impl<T: Default> Default for AssertUnwindSafe<T>
From<Rc<str>> for Rc<[u8]>
From<Arc<str>> for Arc<[u8]>
FusedIterator for EncodeWide
- RDM intrinsics on aarch64
- Added the
cargo addcommand for adding dependencies to
Cargo.tomlfrom the command-line. docs
- Package ID specs now support
name@versionsyntax in addition to the previous
name:versionto align with the behavior in
cargo addand other tools.
cargo yankalso now support this syntax so the version does not need to passed as a separate flag.
registrydirectories 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
rustcexceeds the operating system’s limit.
Compatibility Notes #
cargo testnow passes
rustdocif the specified target is the same as the host target. #10594
- 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 potential unsoundness by aborting if
Filereads or writes cannot complete synchronously.
Internal Changes #
These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.