ePrivacy and GPDR Cookie Consent by Cookie Consent
Rust software

Rust - releases history

Top Download Club  |  Development  |  Compilers & Interpreters  |  Rust
Version Change log
Rust 1.83.0 Nov 28, 2024 Language:
Stabilize &mut, *mut, &Cell, and *const Cell in const.
Allow creating references to statics in const initializers.
Implement raw lifetimes and labels ('r#ident).
Define behavior when atomic and non-atomic reads race.
Non-exhaustive structs may now be empty.
Disallow implicit coercions from places of type !
const extern functions can now be defined for other calling conventions.
Stabilize expr_2021 macro fragment specifier in all editions.
The non_local_definitions lint now fires on less code and warns by default.
Compiler:
Deprecate unsound -Csoft-float flag.
Add many new tier 3 targets:
aarch64_unknown_nto_qnx700
arm64e-apple-tvos
armv7-rtems-eabihf
loongarch64-unknown-linux-ohos
riscv32-wrs-vxworks and riscv64-wrs-vxworks
riscv32{e|em|emc}-unknown-none-elf
x86_64-unknown-hurd-gnu
x86_64-unknown-trusty
Refer to Rust's platform support page for more information on Rust's tiered platform support.
Libraries:
Implement PartialEq for ExitCode.
Document that catch_unwind can deal with foreign exceptions without UB, although the exact behavior is unspecified.
Implement Default for HashMap/HashSet iterators that don't already have it.
Bump Unicode to version 16.0.0.
Change documentation of ptr::add/sub to not claim equivalence with offset..
Stabilized APIs:
BufRead::skip_until
ControlFlow::break_value
ControlFlow::continue_value
ControlFlow::map_break
ControlFlow::map_continue
DebugList::finish_non_exhaustive
DebugMap::finish_non_exhaustive
DebugSet::finish_non_exhaustive
DebugTuple::finish_non_exhaustive
ErrorKind::ArgumentListTooLong
ErrorKind::Deadlock
ErrorKind::DirectoryNotEmpty
ErrorKind::ExecutableFileBusy
ErrorKind::FileTooLarge
ErrorKind::HostUnreachable
ErrorKind::IsADirectory
ErrorKind::NetworkDown
ErrorKind::NetworkUnreachable
ErrorKind::NotADirectory
ErrorKind::NotSeekable
ErrorKind::ReadOnlyFilesystem
ErrorKind::ResourceBusy
ErrorKind::StaleNetworkFileHandle
ErrorKind::StorageFull
ErrorKind::TooManyLinks
Option::get_or_insert_default
Waker::data
Wak
Rust 1.82.0 Oct 17, 2024 Language:
Don't make statement nonterminals match pattern nonterminals
Patterns matching empty types can now be omitted in common cases
Enforce supertrait outlives obligations when using trait impls
addr_of(_mut)! macros and the newly stabilized &raw (const|mut) are now safe to use with all static items
size_of_val_raw: for length 0 this is safe to call
Reorder trait bound modifiers after for<...> binder in trait bounds
Stabilize opaque type precise capturing (RFC 3617)
Stabilize &raw const and &raw mut operators (RFC 2582)
Stabilize unsafe extern blocks (RFC 3484)
Stabilize nested field access in offset_of!
Do not require T to be live when dropping [T; 0]
Stabilize const operands in inline assembly
Stabilize floating-point arithmetic in const fn
Stabilize explicit opt-in to unsafe attributes
Document NaN bit patterns guarantees
Compiler:
Promote riscv64gc-unknown-linux-musl to tier 2
Promote Mac Catalyst targets aarch64-apple-ios-macabi and x86_64-apple-ios-macabi to Tier 2, and ship them with rustup
Add tier 3 NuttX based targets for RISC-V and ARM
Add tier 3 powerpc-unknown-linux-muslspe target
Improved diagnostics to explain why a pattern is unreachable
The compiler now triggers the unreachable code warning properly for async functions that don't return/are -> !
Promote aarch64-apple-darwin to Tier 1
Add Trusty OS target aarch64-unknown-trusty and armv7-unknown-trusty as tier 3 targets
Promote wasm32-wasip2 to Tier 2.
Libraries:
Generalize {Rc,Arc}::make_mut() to Path, OsStr, and CStr.
Stabilized APIs:
std::thread::Builder::spawn_unchecked
std::str::CharIndices::offset
std::option::Option::is_none_or
[T]::is_sorted
[T]::is_sorted_by
[T]::is_sorted_by_key
Iterator::is_sorted
Iterator::is_sorted_by
Iterator::is_sorted_by_key
std::future::Ready::into_inner
std::iter::repeat_n
impl<T: Clone> DoubleEndedIterator for Take<Repeat<T>>
impl<T: Clone> ExactSizeIterator for Take<Repeat<T>>
impl<T: Clone> ExactSizeIterator
Rust 1.81.0 Sep 5, 2024 Fix miscompilation in the jump threading MIR optimization when comparing floats
Revert changes to the dead_code lint from 1.80.0
Rust 1.80.1 Aug 8, 2024 Language:
Document maximum allocation size
Allow zero-byte offsets and ZST read/writes on arbitrary pointers
Support C23's variadics without a named parameter
Stabilize exclusive_range_pattern feature
Guarantee layout and ABI of Result in some scenarios
Compiler:
Update cc crate to v1.0.97 allowing additional spectre mitigations on MSVC targets
Allow field reordering on types marked repr(packed(1))
Add a lint against never type fallback affecting unsafe code
Disallow cast with trailing braced macro in let-else
Expand for_loops_over_fallibles lint to lint on fallibles behind references.
self-contained linker: retry linking without -fuse-ld=lld on CCs that don't support it
Do not parse CVarArgs (...) as a type in trait bounds
Improvements to LLDB formatting #124458 #124500
For the wasm32-wasip2 target default to PIC and do not use -fuse-ld=lld
Add x86_64-unknown-linux-none as a tier 3 target
Lint on foo.into_iter() resolving to &Box<[T]>: IntoIterator
Libraries:
Add size_of and size_of_val and align_of and align_of_val to the prelude
Abort a process when FD ownership is violated
io::Write::write_fmt: panic if the formatter fails when the stream does not fail
Panic if PathBuf::set_extension would add a path separator
Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods
Update c_char on AIX to use the correct type
offset_of! no longer returns a temporary
Handle sigma in str.to_lowercase correctly
Raise DEFAULT_MIN_STACK_SIZE to at least 64KiB
Stabilized APIs:
impl Default for Rc<CStr>
impl Default for Rc<str>
impl Default for Rc<[T]>
impl Default for Arc<str>
impl Default for Arc<CStr>
impl Default for Arc<[T]>
impl IntoIterator for Box<[T]>
impl FromIterator<String> for Box<str>
impl FromIterator<char> for Box<str>
LazyCell
LazyLock
Duration::div_duration_f32
Duration::div_duration_f64
Option::take_if
Seek::seek_relative
BinaryHeap::as_slice
NonNull::offset
NonNull::byte_of
Rust 1.79.0 Jul 19, 2024 Language:
Stabilize inline const {} expressions.
Prevent opaque types being instantiated twice with different regions within the same function.
Stabilize WebAssembly target features that are in phase 4 and 5.
Add the redundant_lifetimes lint to detect lifetimes which are semantically redundant.
Stabilize the unnameable_types lint for public types that can't be named.
Enable debuginfo in macros, and stabilize -C collapse-macro-debuginfo and #[collapse_debuginfo].
Propagate temporary lifetime extension into if and match expressions.
Restrict promotion of const fn calls.
Warn against refining impls of crate-private traits with refining_impl_trait lint.
Stabilize associated type bounds (RFC 2289).
Stabilize importing main from other modules or crates.
Check return types of function types for well-formedness
Rework impl Trait lifetime inference
Change inductive trait solver cycles to be ambiguous
Compiler:
Define -C strip to only affect binaries, not artifacts like .pdb.
Stabilize -Crelro-level for controlling runtime link hardening.
Stabilize checking of cfg names and values at compile-time with --check-cfg. Note that this only stabilizes the compiler part, the Cargo part is still unstable in this release.
Add aarch64-apple-visionos and aarch64-apple-visionos-sim tier 3 targets.
Add riscv32ima-unknown-none-elf tier 3 target.
Promote several Windows targets to tier 2: aarch64-pc-windows-gnullvm, i686-pc-windows-gnullvm, and x86_64-pc-windows-gnullvm.
Refer to Rust's platform support page for more information on Rust's tiered platform support.
Libraries:
Implement FromIterator for (impl Default + Extend, impl Default + Extend).
Implement {Div,Rem}Assign<NonZero<X>> on X.
Document overrides of clone_from() in core/std.
Link MSVC default lib in core.
Caution against using transmute between pointers and integers.
Enable frame pointers for the standard library.
Stabilized APIs:
{integer}::unchecked_add
{integer}::unchecked_mul
{integer}::unchecked_sub
<[T]>:
Rust 1.77.2 Apr 10, 2024
Rust 1.77.1 Mar 29, 2024
Rust 1.77.0 Mar 21, 2024
Rust 1.76.0 Feb 13, 2024
Rust 1.75.0 Dec 29, 2023
NEWSLETTER
© 2025 TopDownload.Club  |  All rights reserved.
created by FAUST