1.74.0
版本发布时间: 2023-11-16 21:49:39
rust-lang/rust最新发布版本:1.83.0(2024-11-28 22:02:00)
Language
-
Codify that
std::mem::Discriminant<T>
does not depend on any lifetimes in T -
Replace
private_in_public
lint withprivate_interfaces
andprivate_bounds
per RFC 2145. Read more in RFC 2145. -
Allow explicit
#[repr(Rust)]
- closure field capturing: don't depend on alignment of packed fields
-
Enable MIR-based drop-tracking for
async
blocks -
Stabilize
impl_trait_projections
Compiler
- stabilize combining +bundle and +whole-archive link modifiers
-
Stabilize
PATH
option for--print KIND=PATH
-
Enable ASAN/LSAN/TSAN for
*-apple-ios-macabi
- Promote loongarch64-unknown-none* to Tier 2
-
Add
i686-pc-windows-gnullvm
as a tier 3 target
Libraries
-
Implement
From<OwnedFd/Handle>
for ChildStdin/out/err -
Implement
From<{&,&mut} [T; N]>
forVec<T>
whereT: Clone
- impl Step for IP addresses
-
Implement
From<[T; N]>
forRc<[T]>
andArc<[T]>
-
impl TryFrom<char> for u16
-
Stabilize
io_error_other
feature -
Stabilize the
Saturating
type - Stabilize const_transmute_copy
Stabilized APIs
-
core::num::Saturating
-
impl From<io::Stdout> for std::process::Stdio
-
impl From<io::Stderr> for std::process::Stdio
-
impl From<OwnedHandle> for std::process::Child{Stdin, Stdout, Stderr}
-
impl From<OwnedFd> for std::process::Child{Stdin, Stdout, Stderr}
-
std::ffi::OsString::from_encoded_bytes_unchecked
-
std::ffi::OsString::into_encoded_bytes
-
std::ffi::OsStr::from_encoded_bytes_unchecked
-
std::ffi::OsStr::as_encoded_bytes
-
std::io::Error::other
-
impl TryFrom<char> for u16
-
impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>
-
impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>
-
impl<T, const N: usize> From<[T; N]> for Arc<[T]>
-
impl<T, const N: usize> From<[T; N]> for Rc<[T]>
These APIs are now stable in const contexts:
Cargo
- fix: Set MSRV for internal packages
- config: merge lists in precedence order
- fix(update): Clarify meaning of --aggressive as --recursive
-
fix(update): Make
-p
more convenient by being positional - feat(help): Add styling to help output
- feat(pkgid): Allow incomplete versions when unambigious
- feat: stabilize credential-process and registry-auth
- feat(cli): Add '-n' to dry-run
-
Add support for
target.'cfg(..)'.linker
-
Stabilize
--keep-going
- feat: Stabilize lints
Rustdoc
- Add warning block support in rustdoc
- Accept additional user-defined syntax classes in fenced code blocks
- rustdoc-search: add support for type parameters
- rustdoc: show inner enum and struct in type definition for concrete type
Compatibility Notes
- Raise minimum supported Apple OS versions
- make Cell::swap panic if the Cells partially overlap
-
Reject invalid crate names in
--extern
- Don't resolve generic impls that may be shadowed by dyn built-in impls
-
The new
impl From<{&,&mut} [T; N]> for Vec<T>
is known to cause some inference failures with overly-generic code. In those examples using thetui
crate, the combination ofAsRef<_>
andInto<Vec>
leaves the middle type ambiguous, and the newimpl
adds another possibility, so it now requires an explicit type annotation.
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.
None this cycle.