This update for rust, rust1.58, rust1.59 fixes the following issues:
This update provides both rust1.58 and rust1.59.
Changes in rust1.58:
{ident} in the string.][90473] This works in all macros accepting format strings. Support for this in panic! (panic!('{ident}')) requires the 2021 edition; panic invocations in previous editions that appear to be trying to use this will result in a warning lint about not having the intended effect.*const T pointers can now be dereferenced in const contexts.][89551][The rules for when a generic struct implements Unsize have been relaxed.][90417]
[Add LLVM CFI support to the Rust compiler][89652]
strip option to remove these symbols to produce smaller release binaries. Note that this release only includes support in rustc, not directly in cargo.-Cremark][90833]x86_64-unknown-none at Tier 3*][89062]#[must_use] annotations where appropriate][89692], producing a warning when ignoring their return value. This helps catch mistakes such as expecting a function to mutate a value in place rather than return a new value.copy and copy_nonoverlapping][90041]RefUnwindSafe for Rc<T>][87467]Termination for Result<Infallible, E>][88601]. This allows writing fn main() -> Result<Infallible, ErrorType>, for a program whose successful exits never involve returning from main (for instance, a program that calls exit, or that uses exec to run another program).Metadata::is_symlink]Path::is_symlink]{integer}::saturating_div]Option::unwrap_unchecked]Result::unwrap_unchecked]Result::unwrap_err_unchecked]NonZero{unsigned}::is_power_of_two]File::options]
These APIs are now usable in const contexts:Duration::new]Duration::checked_add]Duration::saturating_add]Duration::checked_sub]Duration::saturating_sub]Duration::checked_mul]Duration::saturating_mul]Duration::checked_div]MaybeUninit::as_ptr]MaybeUninit::as_mut_ptr]MaybeUninit::assume_init]MaybeUninit::assume_init_ref]std::process::Command will no longer search the current directory for executables.][87704]-Cremark][90833]#[test]-like built-in attribute macro is present multiple times.][91172]-Z emit-future-incompat as --json future-incompat][91535]std::thread::available_parallelism][available_parallelism]Result::copied][result-copied]Result::cloned][result-cloned]arch::asm!][asm]arch::global_asm!][global_asm]ops::ControlFlow::is_break][is_break]ops::ControlFlow::is_continue][is_continue]TryFrom<char> for u8][tryfromchar_u8]char::TryFromCharError][tryfromchar_err]
implementing Clone, Debug, Display, PartialEq, Copy, Eq, Erroriter::zip][zip]NonZeroU8::is_power_of_two][ispowerof_two8]NonZeroU16::is_power_of_two][ispowerof_two16]NonZeroU32::is_power_of_two][ispowerof_two32]NonZeroU64::is_power_of_two][ispowerof_two64]NonZeroU128::is_power_of_two][ispowerof_two128]DoubleEndedIterator for ToLowercase][lowercase]DoubleEndedIterator for ToUppercase][uppercase]TryFrom<&mut [T]> for [T; N]][tryfromrefarr]UnwindSafe for Once][unwindsafe_once]RefUnwindSafe for Once][refunwindsafe_once]mem::MaybeUninit::as_ptr][muninit_ptr]mem::MaybeUninit::assume_init][muninit_init]mem::MaybeUninit::assume_init_ref][muninitinitref]ffi::CStr::from_bytes_with_nul_unchecked][cstrfrombytes]strip profile option][cargo/10088]--release as -r][cargo/10133]term.quiet configuration][cargo/10152]--host from cargo {publish,search,login}][cargo/10145]#![cfg_attr]][83744]
This adds a future compatibility lint to supporting the use of cfgattr
wrapping either cratetype or crate_name specification within Rust files;
it is recommended that users migrate to setting the equivalent command line
flags.#[no_link] attribute on name resolution][92034]
This may expose new names, leading to conflicts with preexisting names in a
given namespace and a compilation failure.Changes in rust wrapper package:
Update to version 1.59.0 - for details see the rust1.59 package
Update package description to help users choose what tooling to install.
Provide rust+cargo by cargo: all cargo<n> package provide this symbol too. Having the meta package provide it allows OBS to have a generic prefernece on the meta package for all packages 'just' requiring rust+cargo.
Update to version 1.58.0