File _patchinfo of Package patchinfo.29347

<patchinfo incident="29347">
  <packager>firstyear</packager>
  <rating>moderate</rating>
  <category>recommended</category>
  <summary>Recommended update for rust, rust1.70</summary>
  <description>This update for rust, rust1.70 fixes the following issues:

Changes in rust:

- Update to version 1.70.0 - for details see the rust1.70 package

Changes in rust1.70:

Version 1.70.0 (2023-06-01)
==========================

Language
--------

- Relax ordering rules for `asm!` operands
- Properly allow macro expanded `format_args` invocations to uses captures
- Lint ambiguous glob re-exports
- Perform const and unsafe checking for expressions in `let _ = expr` position.

Compiler
--------

- Extend -Cdebuginfo with new options and named aliases
  This provides a smaller version of debuginfo for cases that only need line number information
  (`-Cdebuginfo=line-tables-only`), which may eventually become the default for `-Cdebuginfo=1`.
- Make `unused_allocation` lint against `Box::new` too
- Detect uninhabited types early in const eval
- Switch to LLD as default linker for {arm,thumb}v4t-none-eabi
- Add tier 3 target `loongarch64-unknown-linux-gnu`
- Add tier 3 target for `i586-pc-nto-qnx700` (QNX Neutrino RTOS, version 7.0)
- Insert alignment checks for pointer dereferences as debug assertions
  This catches undefined behavior at runtime, and may cause existing code to fail.

  Refer to Rust's platform support page
  for more information on Rust's tiered platform support.

Libraries
---------

- Document NonZeroXxx layout guarantees
- Windows: make `Command` prefer non-verbatim paths
- Implement Default for some alloc/core iterators
- Fix handling of trailing bare CR in str::lines
- allow negative numeric literals in `concat!`
- Add documentation about the memory layout of `Cell`
- Use `partial_cmp` to implement tuple `lt`/`le`/`ge`/`gt`
- Stabilize `atomic_as_ptr`
- Stabilize `nonnull_slice_from_raw_parts`
- Partial stabilization of `once_cell`
- Stabilize `nonzero_min_max`
- Flatten/inline format_args!() and (string and int) literal arguments into format_args!()
- Stabilize movbe target feature
- don't splice from files into pipes in io::copy
- Add a builtin unstable `FnPtr` trait that is implemented for all function pointers
  This extends `Debug`, `Pointer`, `Hash`, `PartialEq`, `Eq`, `PartialOrd`, and `Ord`
  implementations for function pointers with all ABIs.

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

- `NonZero*::MIN/MAX`
- `BinaryHeap::retain`
- `Default for std::collections::binary_heap::IntoIter`
- `Default for std::collections::btree_map::{IntoIter, Iter, IterMut}`
- `Default for std::collections::btree_map::{IntoKeys, Keys}`
- `Default for std::collections::btree_map::{IntoValues, Values}`
- `Default for std::collections::btree_map::Range`
- `Default for std::collections::btree_set::{IntoIter, Iter}`
- `Default for std::collections::btree_set::Range`
- `Default for std::collections::linked_list::{IntoIter, Iter, IterMut}`
- `Default for std::vec::IntoIter`
- `Default for std::iter::Chain`
- `Default for std::iter::Cloned`
- `Default for std::iter::Copied`
- `Default for std::iter::Enumerate`
- `Default for std::iter::Flatten`
- `Default for std::iter::Fuse`
- `Default for std::iter::Rev`
- `Default for std::slice::Iter`
- `Default for std::slice::IterMut`
- `Rc::into_inner`
- `Arc::into_inner`
- `std::cell::OnceCell`
- `Option::is_some_and`
- `NonNull::slice_from_raw_parts`
- `Result::is_ok_and`
- `Result::is_err_and`
- `std::sync::atomic::Atomic*::as_ptr`
- `std::io::IsTerminal`
- `std::os::linux::net::SocketAddrExt`
- `std::os::unix::net::UnixDatagram::bind_addr`
- `std::os::unix::net::UnixDatagram::connect_addr`
- `std::os::unix::net::UnixDatagram::send_to_addr`
- `std::os::unix::net::UnixListener::bind_addr`
- `std::path::Path::as_mut_os_str`
- `std::sync::OnceLock`

Cargo
-----

- Add `CARGO_PKG_README`
- Make `sparse` the default protocol for crates.io
- Accurately show status when downgrading dependencies
- Use registry.default for login/logout
- Stabilize `cargo logout`

Misc
----

- Stabilize rustdoc `--test-run-directory`

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

- Prevent stable `libtest` from supporting `-Zunstable-options`
- Perform const and unsafe checking for expressions in `let _ = expr` position.
- WebAssembly targets enable `sign-ext` and `mutable-globals` features in codegen
  This may cause incompatibility with older execution environments.
- Insert alignment checks for pointer dereferences as debug assertions
  This catches undefined behavior at runtime, and may cause existing code to fail.
</description>
</patchinfo>
openSUSE Build Service is sponsored by