rust-lang/rust
rust-lang/rust
Activity
Last release
Open issues
Open PRs
License
release notes
release notes
Published 2/11/2021
MinorContains breaking changesconst values for x in [x; N] array expressions. This has been technically possible since 1.38.0, as it was unintentionally stabilized.ManuallyDrop<T> union fields are now considered safe.armv5te-unknown-linux-uclibceabi target.aarch64-apple-ios-macabi target.x86_64-unknown-freebsd is now built with the full toolset.* Refer to Rust's platform support page for more information on Rust's tiered platform support.
proc_macro::Punct now implements PartialEq<char>.ops::{Index, IndexMut} are now implemented for fixed sized arrays of any length.std::fs::File type now has a "niche" of -1. This value cannot be a valid file descriptor, and now means Option<File> takes up the same amount of space as File.bool::thenbtree_map::Entry::or_insert_with_keyf32::clampf64::clamphash_map::Entry::or_insert_with_keyOrd::clampRefCell::takeslice::fillUnsafeCell::get_mutThe following previously stable methods are now const.
IpAddr::is_ipv4IpAddr::is_ipv6IpAddr::is_unspecifiedIpAddr::is_loopbackIpAddr::is_multicastIpv4Addr::octetsIpv4Addr::is_loopbackIpv4Addr::is_privateIpv4Addr::is_link_localIpv4Addr::is_multicastIpv4Addr::is_broadcastIpv4Addr::is_documentationIpv4Addr::to_ipv6_compatibleIpv4Addr::to_ipv6_mappedIpv6Addr::segmentsIpv6Addr::is_unspecifiedIpv6Addr::is_loopbackIpv6Addr::is_multicastIpv6Addr::to_ipv4Layout::sizeLayout::alignLayout::from_size_alignpow for all integer types.checked_pow for all integer types.saturating_pow for all integer types.wrapping_pow for all integer types.next_power_of_two for all unsigned integer types.checked_next_power_of_two for all unsigned integer types.[build.rustc-workspace-wrapper] option. This option sets a wrapper to execute instead of rustc, for workspace members only.cargo:rerun-if-changed will now, if provided a directory, scan the entire contents of that directory for changes.--workspace flag to the cargo update command.compare_and_swap method on atomics has been deprecated. It's recommended to use the compare_exchange and compare_exchange_weak methods instead.TokenStreams are checked have fixed some cases where you could write unhygenic macro_rules! macros.#![test] as an inner attribute is now considered unstable like other inner macro attributes, and reports an error by default through the soft_unstable lint.forbid lint at the same level that it was set is now a hard error.panic! calls by supplying your own macro. It's recommended to use the #[panic_handler] attribute to provide your own implementation.struct Foo {};) now produce a warning.release notes
Published 2/11/2021
MinorContains breaking changesconst values for x in [x; N] array expressions. This has been technically possible since 1.38.0, as it was unintentionally stabilized.ManuallyDrop<T> union fields are now considered safe.armv5te-unknown-linux-uclibceabi target.aarch64-apple-ios-macabi target.x86_64-unknown-freebsd is now built with the full toolset.* Refer to Rust's platform support page for more information on Rust's tiered platform support.
proc_macro::Punct now implements PartialEq<char>.ops::{Index, IndexMut} are now implemented for fixed sized arrays of any length.std::fs::File type now has a "niche" of -1. This value cannot be a valid file descriptor, and now means Option<File> takes up the same amount of space as File.bool::thenbtree_map::Entry::or_insert_with_keyf32::clampf64::clamphash_map::Entry::or_insert_with_keyOrd::clampRefCell::takeslice::fillUnsafeCell::get_mutThe following previously stable methods are now const.
IpAddr::is_ipv4IpAddr::is_ipv6IpAddr::is_unspecifiedIpAddr::is_loopbackIpAddr::is_multicastIpv4Addr::octetsIpv4Addr::is_loopbackIpv4Addr::is_privateIpv4Addr::is_link_localIpv4Addr::is_multicastIpv4Addr::is_broadcastIpv4Addr::is_documentationIpv4Addr::to_ipv6_compatibleIpv4Addr::to_ipv6_mappedIpv6Addr::segmentsIpv6Addr::is_unspecifiedIpv6Addr::is_loopbackIpv6Addr::is_multicastIpv6Addr::to_ipv4Layout::sizeLayout::alignLayout::from_size_alignpow for all integer types.checked_pow for all integer types.saturating_pow for all integer types.wrapping_pow for all integer types.next_power_of_two for all unsigned integer types.checked_next_power_of_two for all unsigned integer types.[build.rustc-workspace-wrapper] option. This option sets a wrapper to execute instead of rustc, for workspace members only.cargo:rerun-if-changed will now, if provided a directory, scan the entire contents of that directory for changes.--workspace flag to the cargo update command.compare_and_swap method on atomics has been deprecated. It's recommended to use the compare_exchange and compare_exchange_weak methods instead.TokenStreams are checked have fixed some cases where you could write unhygenic macro_rules! macros.#![test] as an inner attribute is now considered unstable like other inner macro attributes, and reports an error by default through the soft_unstable lint.forbid lint at the same level that it was set is now a hard error.panic! calls by supplying your own macro. It's recommended to use the #[panic_handler] attribute to provide your own implementation.struct Foo {};) now produce a warning.Empowering everyone to build reliable and efficient software.