File _patchinfo of Package patchinfo.26302

<patchinfo incident="26302">
  <packager>firstyear</packager>
  <rating>moderate</rating>
  <issue tracker="jsc" id="SLE-18626"></issue>
  <category>recommended</category>
  <summary>Recommended update for rust</summary>
  <description>This update for rust fixes the following issues:

Rust was updated to ship in version 1.64.0 in rust1.64.

Version 1.64.0 (2022-09-22)
===========================

Language
--------

- Unions with mutable references or tuples of allowed types are now allowed
- It is now considered valid to deallocate memory pointed to by a shared reference `&amp;T` [if every byte in `T` is inside an `UnsafeCell`]
- Unused tuple struct fields are now warned against in an allow-by-default lint, [`unused_tuple_struct_fields`]

Compiler
--------

- Add Nintendo Switch as tier 3 target
  - Refer to Rust's platform support page for more information on Rust's tiered platform support.
- Only compile `#[used]` as llvm.compiler.used for ELF targets
- Add the `--diagnostic-width` compiler flag to define the terminal width.
- Add support for link-flavor `rust-lld` for iOS, tvOS and watchOS

Libraries
---------

- Remove restrictions on compare-exchange memory ordering.
- You can now `write!` or `writeln!` into an `OsString`: [Implement `fmt::Write` for `OsString`]
- Make RwLockReadGuard covariant
- Implement `FusedIterator` for `std::net::[Into]Incoming`
- `impl&lt;T: AsRawFd> AsRawFd for {Arc,Box}&lt;T>`
- `ptr::copy` and `ptr::swap` are doing untyped copies
- Add cgroupv1 support to `available_parallelism`
- Mitigate many incorrect uses of `mem::uninitialized`

Stabilized APIs
---------------

- future::IntoFuture
- future::poll_fn
- task::ready!
- num::NonZero*::checked_mul
- num::NonZero*::checked_pow
- num::NonZero*::saturating_mul
- num::NonZero*::saturating_pow
- num::NonZeroI*::abs
- num::NonZeroI*::checked_abs
- num::NonZeroI*::overflowing_abs
- num::NonZeroI*::saturating_abs
- num::NonZeroI*::unsigned_abs
- num::NonZeroI*::wrapping_abs
- num::NonZeroU*::checked_add
- num::NonZeroU*::checked_next_power_of_two
- num::NonZeroU*::saturating_add
- os::unix::process::CommandExt::process_group
- os::windows::fs::FileTypeExt::is_symlink_dir
- os::windows::fs::FileTypeExt::is_symlink_file

These types were previously stable in std::ffi, but are now also available in core and alloc:

- core::ffi::CStr
- core::ffi::FromBytesWithNulError
- alloc::ffi::CString
- alloc::ffi::FromVecWithNulError
- alloc::ffi::IntoStringError
- alloc::ffi::NulError

These types were previously stable in std::os::raw, but are now also available in core::ffi and std::ffi:

- ffi::c_char
- ffi::c_double
- ffi::c_float
- ffi::c_int
- ffi::c_long
- ffi::c_longlong
- ffi::c_schar
- ffi::c_short
- ffi::c_uchar
- ffi::c_uint
- ffi::c_ulong
- ffi::c_ulonglong
- ffi::c_ushort

These APIs are now usable in const contexts:

- slice::from_raw_parts

Cargo
-----

- Packages can now inherit settings from the workspace so that the settings
  can be centralized in one place.
- Cargo commands can now accept multiple `--target` flags to build for
  multiple targets at once
- The --jobs argument can now take a negative number to count backwards from
  the max CPUs.
- cargo add will now update Cargo.lock.
- Added the --crate-type flag to `cargo rustc` to override the crate type.
- Significantly improved the performance fetching git dependencies from GitHub
  when using a hash in the `rev` field.

Misc
----

- The rust-analyzer rustup component is now available on the stable channel.

Compatibility Notes
-------------------

- The minimum required versions for all -linux-nu` targets are now at least kernel 3.2 and glibc 2.17, for targets that previously supported older versions.
- Network primitives are now implemented with the ideal Rust layout, not the C system layout
- Add assertion that `transmute_copy`'s `U` is not larger than `T`
- A soundness bug in `BTreeMap` was fixed
- The Drop behavior of C-like enums cast to ints has changed
- Relate late-bound closure lifetimes to parent fn in NLL
- Errors at const-eval time are now in future incompatibility reports
- On the `thumbv6m-none-eabi` target, some incorrect `asm!` statements were erroneously accepted if they used the high registers (r8 to r14) as an input/output operand. This is no longer accepted.
- `impl Trait` was accidentally accepted as the associated type value of return-position `impl Trait`, without fulfilling all the trait bounds of that associated type, as long as the hidden type satisfies said bounds. This has been fixed.
</description>
</patchinfo>
openSUSE Build Service is sponsored by