renovate[bot] d7a910fc83 chore(deps): Update Rust Stable to v1.98 (#97)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.97`
→ `1.98` |

---

### Release Notes

<details>
<summary>rust-lang/rust (STABLE)</summary>

###
[`v1.98`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1980-2026-08-20)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.97.0...1.98.0)

\==========================

<a id="1.98.0-Language"></a>

## Language

- [Allow shortening lifetime of `&mut` when unsize-coercing, even in an
invariant
position.](https://redirect.github.com/rust-lang/rust/pull/149219) For
example, you can now coerce a `Cell<&'long mut i32>` to a `Cell<&'short
mut dyn Send>`. Such shortenings were already previously allowed when
coercing a `&mut` to a `&`, or coercing a `&` to a `&`.
- [Add deny-by-default `invalid_runtime_symbol_definitions` lint and
warn-by-default `suspicious_runtime_symbol_definitions`
lint](https://redirect.github.com/rust-lang/rust/pull/155521)
- The lints currently specifically targets `core` runtime symbols like
`memcmp`, `memset`, `strlen`, ... and is planned to be expanded in the
next few releases.
- [Add warn-by-default `c_void_returns` lint to check
`core::ffi::c_void` as a return
type](https://redirect.github.com/rust-lang/rust/pull/156379)

<a id="1.98.0-Platform-Support"></a>

## Platform Support

- [Add `powerpc64-unknown-linux-gnuelfv2` as Tier
3](https://redirect.github.com/rust-lang/rust/pull/144220)
- [Add `aarch64-unknown-linux-pauthtest` as Tier 3
target](https://redirect.github.com/rust-lang/rust/pull/155722)
- [Promote `thumbv7a-none-eabi` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/155763)
- [Promote `thumbv7a-none-eabihf` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/155763)
- [Promote `thumbv7r-none-eabi` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/155763)
- [Promote `thumbv7r-none-eabihf` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/155763)
- [Promote `thumbv8r-none-eabihf` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/155763)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.98.0-Libraries"></a>

## Libraries

- [Change `Location<'_>` lifetime to `'static` in
`Panic[Hook]Info`](https://redirect.github.com/rust-lang/rust/pull/146561)
- [Document panic in
`RangeInclusive::from(legacy::RangeInclusive)`](https://redirect.github.com/rust-lang/rust/pull/155421)
- [Document that `ManuallyDrop`'s `Box` interaction has been
fixed](https://redirect.github.com/rust-lang/rust/pull/155750)
- [Stabilize LoongArch CRC
Intrinsics](https://redirect.github.com/rust-lang/rust/issues/156908)
- [The `derive` macro is available at
`{core,std}::derive`.](https://redirect.github.com/rust-lang/rust/issues/154645)
This was previously [unintentionally stabilized in
1.96](https://redirect.github.com/rust-lang/rust/issues/159856), but is
now [explicitly
accepted](https://redirect.github.com/rust-lang/rust/issues/154645) as a
stabilized API.
- Please note that the MSRV for `{core,std}::derive` will be 1.96, and
not 1.98.

<a id="1.98.0-Stabilized-APIs"></a>

## Stabilized APIs

-
[`str::substr_range`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.substr_range)
-
[`[T]::subslice_range`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.subslice_range)
-
[`core::fmt::NumBuffer`](https://doc.rust-lang.org/stable/core/fmt/struct.NumBuffer.html)
-
[`<{integer}>::format_into`](https://doc.rust-lang.org/stable/core/primitive.usize.html#method.format_into)
- [`Send/Sync for
std::process::CommandArgs`](https://doc.rust-lang.org/stable/std/process/struct.CommandArgs.html#impl-Send-for-CommandArgs%3C'a%3E)
-
[`{fN}::algebraic_add`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_add)
-
[`{fN}::algebraic_sub`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_sub)
-
[`{fN}::algebraic_mul`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_mul)
-
[`{fN}::algebraic_div`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_div)
-
[`{fN}::algebraic_rem`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_rem)
-
[`NonZero<{integer}>::from_str_radix`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html#method.from_str_radix-4)
-
[`String::from_utf16le`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16le)
-
[`String::from_utf16le_lossy`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16le_lossy)
-
[`String::from_utf16be`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16be)
-
[`String::from_utf16be_lossy`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16be_lossy)
-
[`[T]::strip_circumfix`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.strip_circumfix)
-
[`str::strip_circumfix`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.strip_circumfix)
-
[`Atomic<T>::from_mut`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.from_mut)
-
[`Atomic<T>::get_mut_slice`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.get_mut_slice)
-
[`Atomic<T>::from_mut_slice`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.from_mut_slice)
-
[`std::range::legacy`](https://doc.rust-lang.org/stable/std/range/legacy/index.html)

<a id="1.98.0-Compatibility-Notes"></a>

## Compatibility Notes

- [If fully elided, lifetime bounds of trait object types may now
resolve differently or even get rejected in very specific niche
scenarios](https://redirect.github.com/rust-lang/rust/pull/129543)
- [Error in more cases of ambiguous
imports](https://redirect.github.com/rust-lang/rust/pull/145108)
- [Switch the destructors implementation for thread locals on Windows to
use Fiber Local Storage
(FLS)](https://redirect.github.com/rust-lang/rust/pull/148799)
- [Convert some cases of the `ambiguous_glob_imports` lint into a hard
error](https://redirect.github.com/rust-lang/rust/pull/149195)
- [Where-bounds of the form `Type = Type` and `Type == Type` are no
longer syntactically
allowed](https://redirect.github.com/rust-lang/rust/pull/153513)
- [Ensure Send/Sync is not implemented for
std::env::Vars{,Os}](https://redirect.github.com/rust-lang/rust/pull/155153)
- [Fix that in some attributes, arguments were not properly
rejected](https://redirect.github.com/rust-lang/rust/pull/155193)
- [`repr(transparent)` is now more strict about which fields have
"trivial" layout and hence can be ignored: `repr(C)` types, types with
private fields, and `#[non_exhaustive]` types are no longer considered
"trivial"](https://redirect.github.com/rust-lang/rust/pull/155299)
- [Correctly check whether types have equal size in `transmute()` when
some `repr` attributes are
involved.](https://redirect.github.com/rust-lang/rust/pull/155418)
- [More characters are escaped when printing strings and
chars](https://redirect.github.com/rust-lang/rust/pull/155527)
- [Implement fast path for `derive(PartialOrd)` when deriving
`Ord`](https://redirect.github.com/rust-lang/rust/pull/155598)
This can break crates in practice where a type's PartialOrd and Ord
impls were inconsistent with each other.
- [Add temporary scope to `assert_eq` and
`assert_ne`](https://redirect.github.com/rust-lang/rust/pull/155739)
- Closed a hole in the pattern matching [structural
equality](https://doc.rust-lang.org/reference/patterns.html#constant-patterns)
check, preventing cases where a match of a constant would be allowed,
despite disagreeing with a manually written `PartialEq` implementation,
when a `derive(PartialEq)` implementation for that type also exists.
- [On Emscripten the WASM exception handling ABI is now unconditionally
used](https://redirect.github.com/rust-lang/rust/pull/156928) The
`-Zemscripten-wasm-eh=false` flag to switch back to JS exceptions has
been removed.
- [The UNSAFE\_CODE lint is now consistently emitted for all unsafe
attributes](https://redirect.github.com/rust-lang/rust/pull/157201)
- [Solaris: remove `File::lock` implementation, it has the wrong
semantics (return "unsupported"
instead)](https://redirect.github.com/rust-lang/rust/pull/157509)
- [Windows-gnu targets now specify baseline tools
versions](https://redirect.github.com/rust-lang/rust/pull/158020)
- [rustfmt now discovers module files that are defined in
`cfg_select!`](https://redirect.github.com/rust-lang/rust/pull/158372)
  This may cause more code to be formatted which was previously ignored.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Every minute (`* * * * *`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-23 21:41:41 +00:00
2026-05-01 15:33:37 -05:00
2023-03-29 14:33:22 -05:00
2026-05-01 15:33:37 -05:00
2023-03-29 14:33:22 -05:00
2026-04-17 09:27:25 -05:00
2023-03-29 14:33:22 -05:00
2023-03-29 14:33:22 -05:00
2025-08-19 08:38:11 -05:00
2023-03-29 14:51:13 -05:00

PROJECT

DESCRIPTION

Documentation License Crates Status

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.

S
Description
No description provided
Readme
114 MiB
Languages
Rust 95.8%
Shell 3.9%
Python 0.2%