Recommended update for rust
| Announcement ID: | SUSE-RU-2021:2855-1 |
|---|---|
| Rating: | moderate |
| References: | |
| Affected Products: |
|
An update that contains one feature can now be installed.
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 Traitwhere the lifetimes don't explicitly outlive another.
In code this means that you can now have impl Trait<'a, 'b> where as before you could
only have impl Trait<'a, 'b> where 'b: 'a.
Compiler:
- Rustc will now search for custom JSON targets in
/lib/rustlib/<target-triple>/target.jsonwhere/is the "sysroot" directory. You can find your sysroot directory by runningrustc --print sysroot. - Added
wasmas atarget_familyfor 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-noneandbpfeb-unknown-none.
* Refer to Rust's platform support page for more information on Rust's tiered platform support.
Libraries:
panic::panic_anywill now#[track_caller].- Added
OutOfMemoryas a variant ofio::ErrorKind. proc_macro::Literalnow implementsFromStr.- 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 <spec>option tocargo-treeto remove a package from the dependency graph. - Added the
--depthoption tocargo-treeto print only to a certain depth in the tree. - Added the
no-proc-macrovalue tocargo-tree --edgesto hide procedural macro dependencies. - A new environment variable named
CARGO_TARGET_TMPDIRis available. This variable points to a directory that integration tests and benches can use as a "scratchpad" for testing filesystem operations.
Patch Instructions:
To install this SUSE update use the SUSE recommended
installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:
-
openSUSE Leap 15.3
zypper in -t patch SUSE-2021-2855=1 -
Development Tools Module 15-SP3
zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP3-2021-2855=1
Package List:
-
openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586)
- rust-1.54.0-21.6.2
- rust1.54-gdb-1.54.0-7.3.1
- cargo-1.54.0-21.6.2
- cargo1.54-1.54.0-7.3.1
- rust-gdb-1.54.0-21.6.2
- rust1.54-debuginfo-1.54.0-7.3.1
- cargo1.54-debuginfo-1.54.0-7.3.1
- rust1.54-1.54.0-7.3.1
-
openSUSE Leap 15.3 (noarch)
- rust1.54-src-1.54.0-7.3.1
- cargo1.54-doc-1.54.0-7.3.1
-
openSUSE Leap 15.3 (aarch64 x86_64)
- rls1.54-debuginfo-1.54.0-7.3.1
- rls-1.54.0-21.6.2
- rls1.54-1.54.0-7.3.1
- rust1.54-analysis-1.54.0-7.3.1
- rust1.54-doc-1.54.0-7.3.1
-
Development Tools Module 15-SP3 (aarch64 ppc64le s390x x86_64 i586)
- rust-1.54.0-21.6.2
- rust-gdb-1.54.0-21.6.2
- cargo-1.54.0-21.6.2
-
Development Tools Module 15-SP3 (aarch64 ppc64le s390x x86_64)
- rust1.54-gdb-1.54.0-7.3.1
- cargo1.54-1.54.0-7.3.1
- rust1.54-debuginfo-1.54.0-7.3.1
- cargo1.54-debuginfo-1.54.0-7.3.1
- rust1.54-1.54.0-7.3.1
-
Development Tools Module 15-SP3 (noarch)
- rust1.54-src-1.54.0-7.3.1
- cargo1.54-doc-1.54.0-7.3.1
-
Development Tools Module 15-SP3 (aarch64 x86_64)
- rls1.54-debuginfo-1.54.0-7.3.1
- rls-1.54.0-21.6.2
- rls1.54-1.54.0-7.3.1
- rust1.54-analysis-1.54.0-7.3.1
- rust1.54-doc-1.54.0-7.3.1