Skip to content

Commit

Permalink
chore(deps): update msrv (3 versions) to v1.81 (#14871)
Browse files Browse the repository at this point in the history
This PR contains the following updates:

| Package | Update | Change | Pending |
|---|---|---|---|
| [MSRV:3](https://redirect.github.com/rust-lang/rust) | minor | `1.80`
-> `1.81` | `1.83` (+1) |

---

### Release Notes

<details>
<summary>rust-lang/rust (MSRV:3)</summary>

###
[`v1.81`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1810-2024-09-05)

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

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

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

## Language

- [Abort on uncaught panics in `extern "C"`
functions.](https://redirect.github.com/rust-lang/rust/pull/116088/)
- [Fix ambiguous cases of multiple `&` in elided self
lifetimes.](https://redirect.github.com/rust-lang/rust/pull/117967/)
- [Stabilize `#[expect]` for lints (RFC
2383),](https://redirect.github.com/rust-lang/rust/pull/120924/) like
`#[allow]` with a warning if the lint is *not* fulfilled.
- [Change method resolution to constrain hidden types instead of
rejecting method
candidates.](https://redirect.github.com/rust-lang/rust/pull/123962/)
- [Bump `elided_lifetimes_in_associated_constant` to
deny.](https://redirect.github.com/rust-lang/rust/pull/124211/)
- [`offset_from`: always allow pointers to point to the same
address.](https://redirect.github.com/rust-lang/rust/pull/124921/)
- [Allow constraining opaque types during subtyping in the trait
system.](https://redirect.github.com/rust-lang/rust/pull/125447/)
- [Allow constraining opaque types during various unsizing
casts.](https://redirect.github.com/rust-lang/rust/pull/125610/)
- [Deny keyword lifetimes
pre-expansion.](https://redirect.github.com/rust-lang/rust/pull/126762/)

<a id="1.81.0-Compiler"></a>

## Compiler

- [Make casts of pointers to trait objects
stricter.](https://redirect.github.com/rust-lang/rust/pull/120248/)
- [Check alias args for well-formedness even if they have escaping bound
vars.](https://redirect.github.com/rust-lang/rust/pull/123737/)
- [Deprecate no-op codegen option
`-Cinline-threshold=...`.](https://redirect.github.com/rust-lang/rust/pull/124712/)
- [Re-implement a type-size based
limit.](https://redirect.github.com/rust-lang/rust/pull/125507/)
- [Properly account for alignment in `transmute` size
checks.](https://redirect.github.com/rust-lang/rust/pull/125740/)
- [Remove the `box_pointers`
lint.](https://redirect.github.com/rust-lang/rust/pull/126018/)
- [Ensure the interpreter checks bool/char for validity when they are
used in a
cast.](https://redirect.github.com/rust-lang/rust/pull/126265/)
- [Improve coverage instrumentation for functions containing nested
items.](https://redirect.github.com/rust-lang/rust/pull/127199/)
-   Target changes:
- [Add Tier 3 `no_std` Xtensa
targets:](https://redirect.github.com/rust-lang/rust/pull/125141/)
`xtensa-esp32-none-elf`, `xtensa-esp32s2-none-elf`,
`xtensa-esp32s3-none-elf`
- [Add Tier 3 `std` Xtensa
targets:](https://redirect.github.com/rust-lang/rust/pull/126380/)
`xtensa-esp32-espidf`, `xtensa-esp32s2-espidf`, `xtensa-esp32s3-espidf`
- [Add Tier 3 i686 Redox OS
target:](https://redirect.github.com/rust-lang/rust/pull/126192/)
`i686-unknown-redox`
- [Promote `arm64ec-pc-windows-msvc` to Tier
2.](https://redirect.github.com/rust-lang/rust/pull/126039/)
- [Promote `loongarch64-unknown-linux-musl` to Tier 2 with host
tools.](https://redirect.github.com/rust-lang/rust/pull/126298/)
- [Enable full tools and profiler for LoongArch Linux
targets.](https://redirect.github.com/rust-lang/rust/pull/127078/)
- [Unconditionally warn on usage of
`wasm32-wasi`.](https://redirect.github.com/rust-lang/rust/pull/126662/)
(see compatibility note below)
- Refer to Rust's \[platform support page]\[platform-support-doc] for
more information on Rust's tiered platform support.

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

## Libraries

- [Split core's `PanicInfo` and std's
`PanicInfo`.](https://redirect.github.com/rust-lang/rust/pull/115974/)
(see compatibility note below)
- [Generalize `{Rc,Arc}::make_mut()` to unsized
types.](https://redirect.github.com/rust-lang/rust/pull/116113/)
- [Replace sort implementations with stable `driftsort` and unstable
`ipnsort`.](https://redirect.github.com/rust-lang/rust/pull/124032/) All
`slice::sort*` and `slice::select_nth*` methods are expected to see
significant performance improvements. See the [research
project](https://redirect.github.com/Voultapher/sort-research-rs) for
more details.
- [Document behavior of `create_dir_all` with respect to empty
paths.](https://redirect.github.com/rust-lang/rust/pull/125112/)
- [Fix interleaved output in the default panic hook when multiple
threads panic
simultaneously.](https://redirect.github.com/rust-lang/rust/pull/127397/)

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

## Stabilized APIs

-
[`core::error`](https://doc.rust-lang.org/stable/core/error/index.html)
-
[`hint::assert_unchecked`](https://doc.rust-lang.org/stable/core/hint/fn.assert_unchecked.html)
- [`fs::exists`](https://doc.rust-lang.org/stable/std/fs/fn.exists.html)
-
[`AtomicBool::fetch_not`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicBool.html#method.fetch_not)
-
[`Duration::abs_diff`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.abs_diff)
-
[`IoSlice::advance`](https://doc.rust-lang.org/stable/std/io/struct.IoSlice.html#method.advance)
-
[`IoSlice::advance_slices`](https://doc.rust-lang.org/stable/std/io/struct.IoSlice.html#method.advance_slices)
-
[`IoSliceMut::advance`](https://doc.rust-lang.org/stable/std/io/struct.IoSliceMut.html#method.advance)
-
[`IoSliceMut::advance_slices`](https://doc.rust-lang.org/stable/std/io/struct.IoSliceMut.html#method.advance_slices)
-
[`PanicHookInfo`](https://doc.rust-lang.org/stable/std/panic/struct.PanicHookInfo.html)
-
[`PanicInfo::message`](https://doc.rust-lang.org/stable/core/panic/struct.PanicInfo.html#method.message)
-
[`PanicMessage`](https://doc.rust-lang.org/stable/core/panic/struct.PanicMessage.html)

These APIs are now stable in const contexts:

-
[`char::from_u32_unchecked`](https://doc.rust-lang.org/stable/core/char/fn.from_u32\_unchecked.html)
(function)
-
[`char::from_u32_unchecked`](https://doc.rust-lang.org/stable/core/primitive.char.html#method.from_u32\_unchecked)
(method)
-
[`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)
-
[`CStr::from_ptr`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.from_ptr)

<a id="1.81.0-Cargo"></a>

## Cargo

- [Generated `.cargo_vcs_info.json` is always included, even when
`--allow-dirty` is
passed.](https://redirect.github.com/rust-lang/cargo/pull/13960/)
- [Disallow `package.license-file` and `package.readme` pointing to
non-existent files during
packaging.](https://redirect.github.com/rust-lang/cargo/pull/13921/)
- [Disallow passing `--release`/`--debug` flag along with the
`--profile`
flag.](https://redirect.github.com/rust-lang/cargo/pull/13971/)
- [Remove `lib.plugin` key support in `Cargo.toml`. Rust plugin support
has been deprecated for four years and was removed in
1.75.0.](https://redirect.github.com/rust-lang/cargo/pull/13902/)

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

## Compatibility Notes

- Usage of the `wasm32-wasi` target will now issue a compiler warning
and request users switch to the `wasm32-wasip1` target instead. Both
targets are the same, `wasm32-wasi` is only being renamed, and this
[change to the WASI
target](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html)
is being done to enable removing `wasm32-wasi` in January 2025.

- We have renamed `std::panic::PanicInfo` to
`std::panic::PanicHookInfo`. The old name will continue to work as an
alias, but will result in a deprecation warning starting in Rust 1.82.0.

`core::panic::PanicInfo` will remain unchanged, however, as this is now
a *different type*.

The reason is that these types have different roles:
`std::panic::PanicHookInfo` is the argument to the [panic
hook](https://doc.rust-lang.org/stable/std/panic/fn.set_hook.html) in
std context (where panics can have an arbitrary payload), while
`core::panic::PanicInfo` is the argument to the
[`#[panic_handler]`](https://doc.rust-lang.org/nomicon/panic-handler.html)
in no_std context (where panics always carry a formatted *message*).
Separating these types allows us to add more useful methods to these
types, such as `std::panic::PanicHookInfo::payload_as_str()` and
`core::panic::PanicInfo::message()`.

- The new sort implementations may panic if a type's implementation of
[`Ord`](https://doc.rust-lang.org/std/cmp/trait.Ord.html) (or the given
comparison function) does not implement a [total
order](https://en.wikipedia.org/wiki/Total_order) as the trait requires.
`Ord`'s supertraits (`PartialOrd`, `Eq`, and `PartialEq`) must also be
consistent. The previous implementations would not "notice" any problem,
but the new implementations have a good chance of detecting
inconsistencies, throwing a panic rather than returning knowingly
unsorted data.

- [In very rare cases, a change in the internal evaluation order of the
trait
solver may result in new fatal overflow
errors.](https://redirect.github.com/rust-lang/rust/pull/126128)

<a id="1.81.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they
represent
significant improvements to the performance or internals of rustc and
related
tools.

- [Add a Rust-for Linux `auto` CI job to check kernel
builds.](https://redirect.github.com/rust-lang/rust/pull/125209/)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* * * * *" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, 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/rust-lang/cargo).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
  • Loading branch information
ehuss authored Nov 30, 2024
2 parents 3908f64 + afb9386 commit 759ee7c
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ exclude = [
]

[workspace.package]
rust-version = "1.80" # MSRV:3
rust-version = "1.81" # MSRV:3
edition = "2021"
license = "MIT OR Apache-2.0"
homepage = "https://github.com/rust-lang/cargo"
Expand Down

0 comments on commit 759ee7c

Please sign in to comment.