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
, Error
iter::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