- Update to version 1.34.0
+ Language
- You can now use `#[deprecated = "reason"]` as a shorthand for
`#[deprecated(note = "reason")]`. This was previously allowed
by mistake but had no effect.
- You can now accept token streams in `#[attr()]`,`#[attr[]]`, and
`#[attr{}]` procedural macros.
- You can now write `extern crate self as foo;` to import your
crate's root into the extern prelude.
+ Compiler
- You can now target `riscv64imac-unknown-none-elf` and
`riscv64gc-unknown-none-elf`.
- You can now enable linker plugin LTO optimisations with
`-C linker-plugin-lto`. This allows rustc to compile your Rust
code into LLVM bitcode allowing LLVM to perform LTO optimisations
across C/C++ FFI boundaries.
- You can now target `powerpc64-unknown-freebsd`.
+ Libraries
- The trait bounds have been removed on some of `HashMap<K, V, S>`'s
and `HashSet<T, S>`'s basic methods. Most notably you no longer
require the `Hash` trait to create an iterator.
- The `Ord` trait bounds have been removed on some of
`BinaryHeap<T>`'s basic methods. Most notably you no longer require
the `Ord` trait to create an iterator.
- The methods `overflowing_neg` and `wrapping_neg` are now `const`
functions for all numeric types.
- Indexing a `str` is now generic over all types that
implement `SliceIndex<str>`.
- `str::trim`, `str::trim_matches`, `str::trim_{start, end}`, and
`str::trim_{start, end}_matches` are now `#[must_use]` and will
produce a warning if their returning type is unused.
- The methods `checked_pow`, `saturating_pow`, `wrapping_pow`, and
`overflowing_pow` are now available for all numeric types. These are
equivalvent to methods such as `wrapping_add` for the `pow` operation.
+ Stabilized APIs
- std & core
+ Any::type_id
+ Error::type_id
+ atomic::AtomicI16
+ atomic::AtomicI32
+ atomic::AtomicI64
+ atomic::AtomicI8
+ atomic::AtomicU16
+ atomic::AtomicU32
+ atomic::AtomicU64
+ atomic::AtomicU8
+ convert::Infallible
+ convert::TryFrom
+ convert::TryInto
+ iter::from_fn
+ iter::successors
+ num::NonZeroI128
+ num::NonZeroI16
+ num::NonZeroI32
+ num::NonZeroI64
+ num::NonZeroI8
+ num::NonZeroIsize
+ slice::sort_by_cached_key
+ str::escape_debug
+ str::escape_default
+ str::escape_unicode
+ str::split_ascii_whitespace
- std
+ Instant::checked_add
+ Instant::checked_sub
+ SystemTime::checked_add
+ SystemTime::checked_sub
+ Cargo
- You can now use alternative registries to crates.io.
+ Misc
- You can now use the `?` operator in your documentation
tests without manually adding `fn main() -> Result<(), _> {}`.
+ Compatibility Notes
- `Command::before_exec` is now deprecated in favor of the
unsafe method `Command::pre_exec`.
- Use of `ATOMIC_{BOOL, ISIZE, USIZE}_INIT` is now deprecated.
As you can now use `const` functions in `static` variables.
- Remove depreciated-trim_left_matches.patch.
- Rustfmt version bumped to 1.0.3
+ Change description not provided.
- rls version now in sync with rustc.
- Misc fixes to rust.spec
OBS-URL: https://build.opensuse.org/request/show/694642
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=213