File _patchinfo of Package patchinfo.20675

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

This ships the new parallel rust 1.54 version.

Version 1.54.0 (2021-07-29)

Language:

- You can now use macros for values in built-in attribute macros.
  While a seemingly minor addition on its own, this enables a lot of
  powerful functionality when combined correctly. Most notably you can
  now include external documentation in your crate by writing the following.
  ```rust
  #![doc = include_str!("README.md")]
  ```
  You can also use this to include auto-generated modules:
  ```rust
  #[path = concat!(env!("OUT_DIR"), "/generated.rs")]
  mod generated;
  ```
- You can now cast between unsized slice types (and types which contain unsized slices) in `const fn`.
- You can now use multiple generic lifetimes with `impl Trait` where the
  lifetimes don't explicitly outlive another.

  In code this means that you can now have `impl Trait&lt;'a, 'b>` where as before you could
  only have `impl Trait&lt;'a, 'b> where 'b: 'a`.

Compiler:

- Rustc will now search for custom JSON targets in
  `/lib/rustlib/&lt;target-triple>/target.json` where `/` is the "sysroot"
  directory.
  You can find your sysroot directory by running `rustc --print sysroot`.
- Added `wasm` as a `target_family` for WebAssembly platforms.
- You can now use `#[target_feature]` on safe functions when targeting
  WebAssembly platforms.
- Improved debugger output for enums on Windows MSVC platforms.
- Added tier 3\* support for `bpfel-unknown-none` and `bpfeb-unknown-none`.

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

Libraries:

- `panic::panic_any` will now `#[track_caller]`.
- Added `OutOfMemory` as a variant of `io::ErrorKind`.
-  `proc_macro::Literal` now implements `FromStr`.
- The implementations of vendor intrinsics in core::arch have been
  significantly refactored.
  The main user-visible changes are a 50% reduction in the size of
  libcore.rlib and stricter validation of constant operands passed to
  intrinsics. The latter is technically a breaking change, but allows
  Rust to more closely match the C vendor intrinsics API.

Stabilized APIs:

- BTreeMap::into_keys
- BTreeMap::into_values
- HashMap::into_keys
- HashMap::into_values
- arch::wasm32
- VecDeque::binary_search
- VecDeque::binary_search_by
- VecDeque::binary_search_by_key
- VecDeque::partition_point

Cargo:

- Added the `--prune &lt;spec>` option to `cargo-tree` to remove a package from
  the dependency graph.
- Added the `--depth` option to `cargo-tree` to print only to a certain depth
  in the tree.
- Added the `no-proc-macro` value to `cargo-tree --edges` to hide procedural
  macro dependencies.
- A new environment variable named `CARGO_TARGET_TMPDIR` is available.
  This variable points to a directory that integration tests and benches
  can use as a "scratchpad" for testing filesystem operations.
</description>
</patchinfo>
openSUSE Build Service is sponsored by