From 7a67ba563bc14cc097ab0c070bed9d66717f409b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 03:23:03 +0000 Subject: [PATCH 01/22] chore(deps): Update actions/setup-python action to v6 --- .github/workflows/pre-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 7b55a3d..e655b83 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: '3.x' - uses: pre-commit/action@v3.0.1 From 3513a5b182e963c644d14eaa1e08677a9fa0a91f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 14:50:23 +0000 Subject: [PATCH 02/22] chore(deps): Update actions/checkout action to v5 --- .github/workflows/audit.yml | 4 ++-- .github/workflows/ci.yml | 16 ++++++++-------- .github/workflows/committed.yml | 2 +- .github/workflows/pre-commit.yml | 2 +- .github/workflows/rust-next.yml | 4 ++-- .github/workflows/spelling.yml | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml index a94be15..a993804 100644 --- a/.github/workflows/audit.yml +++ b/.github/workflows/audit.yml @@ -31,7 +31,7 @@ jobs: continue-on-error: true steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - uses: actions-rs/audit-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} @@ -46,7 +46,7 @@ jobs: checks: - bans licenses sources steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: EmbarkStudios/cargo-deny-action@v2 with: command: check ${{ matrix.checks }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5bd8089..e4c6d5c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: CARGO_PROFILE_DEV_DEBUG: line-tables-only steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -59,7 +59,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -73,7 +73,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install stable Rust uses: dtolnay/rust-toolchain@stable with: @@ -90,7 +90,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -103,7 +103,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -118,7 +118,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -134,7 +134,7 @@ jobs: security-events: write # to upload sarif results steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -164,7 +164,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: diff --git a/.github/workflows/committed.yml b/.github/workflows/committed.yml index e7a50fb..bb290c6 100644 --- a/.github/workflows/committed.yml +++ b/.github/workflows/committed.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Actions Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Lint Commits diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index e655b83..edba5b9 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -22,7 +22,7 @@ jobs: contents: read runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions/setup-python@v6 with: python-version: '3.x' diff --git a/.github/workflows/rust-next.yml b/.github/workflows/rust-next.yml index 5f73f69..a19c5f2 100644 --- a/.github/workflows/rust-next.yml +++ b/.github/workflows/rust-next.yml @@ -33,7 +33,7 @@ jobs: CARGO_PROFILE_DEV_DEBUG: line-tables-only steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -49,7 +49,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml index 8e58d9e..c9df886 100644 --- a/.github/workflows/spelling.yml +++ b/.github/workflows/spelling.yml @@ -20,6 +20,6 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Actions Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Spell Check Repo uses: crate-ci/typos@master From 845f4264fd86d8e5432d06917f2952c5e4348087 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 31 Oct 2025 01:17:02 +0000 Subject: [PATCH 03/22] chore(deps): Update Rust Stable to v1.91 (#33) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.90` -> `1.91` | --- ### Release Notes
rust-lang/rust (STABLE) ### [`v1.91`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1910-2025-10-30) [Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.90.0...1.91.0) \========================== ## Language - [Lower pattern bindings in the order they're written and base drop order on primary bindings' order](https://redirect.github.com/rust-lang/rust/pull/143764) - [Stabilize declaration of C-style variadic functions for `sysv64`, `win64`, `efiapi`, and `aapcs` ABIs](https://redirect.github.com/rust-lang/rust/pull/144066). This brings these ABIs in line with the C ABI: variadic functions can be declared in extern blocks but not defined. - [Add `dangling_pointers_from_locals` lint to warn against dangling pointers from local variables](https://redirect.github.com/rust-lang/rust/pull/144322) - [Upgrade `semicolon_in_expressions_from_macros` from warn to deny](https://redirect.github.com/rust-lang/rust/pull/144369) - [Stabilize LoongArch32 inline assembly](https://redirect.github.com/rust-lang/rust/pull/144402) - [Add warn-by-default `integer_to_ptr_transmutes` lint against integer-to-pointer transmutes](https://redirect.github.com/rust-lang/rust/pull/144531) - [Stabilize `sse4a` and `tbm` target features](https://redirect.github.com/rust-lang/rust/pull/144542) - [Add `target_env = "macabi"` and `target_env = "sim"` cfgs](https://redirect.github.com/rust-lang/rust/pull/139451) as replacements for the `target_abi` cfgs with the same values. ## Compiler - [Don't warn on never-to-any `as` casts as unreachable](https://redirect.github.com/rust-lang/rust/pull/144804) ## Platform Support - [Promote `aarch64-pc-windows-gnullvm` and `x86_64-pc-windows-gnullvm` to Tier 2 with host tools.](https://redirect.github.com/rust-lang/rust/pull/143031) Note: llvm-tools and MSI installers are missing but will be added in future releases. - [Promote `aarch64-pc-windows-msvc` to Tier 1](https://redirect.github.com/rust-lang/rust/pull/145682) 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 ## Libraries - [Print thread ID in panic message](https://redirect.github.com/rust-lang/rust/pull/115746) - [Fix overly restrictive lifetime in `core::panic::Location::file` return type](https://redirect.github.com/rust-lang/rust/pull/132087) - [Guarantee parameter order for `_by()` variants of `min` / `max`/ `minmax` in `std::cmp`](https://redirect.github.com/rust-lang/rust/pull/139357) - [Document assumptions about `Clone` and `Eq` traits](https://redirect.github.com/rust-lang/rust/pull/144330/) - [`std::thread`: Return error if setting thread stack size fails](https://redirect.github.com/rust-lang/rust/pull/144210) This used to panic within the standard library. ## Stabilized APIs - [`Path::file_prefix`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#method.file_prefix) - [`AtomicPtr::fetch_ptr_add`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_ptr_add) - [`AtomicPtr::fetch_ptr_sub`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_ptr_sub) - [`AtomicPtr::fetch_byte_add`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_byte_add) - [`AtomicPtr::fetch_byte_sub`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_byte_sub) - [`AtomicPtr::fetch_or`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_or) - [`AtomicPtr::fetch_and`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_and) - [`AtomicPtr::fetch_xor`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_xor) - [`{integer}::strict_add`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_add) - [`{integer}::strict_sub`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_sub) - [`{integer}::strict_mul`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_mul) - [`{integer}::strict_div`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_div) - [`{integer}::strict_div_euclid`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_div_euclid) - [`{integer}::strict_rem`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_rem) - [`{integer}::strict_rem_euclid`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_rem_euclid) - [`{integer}::strict_neg`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_neg) - [`{integer}::strict_shl`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_shl) - [`{integer}::strict_shr`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_shr) - [`{integer}::strict_pow`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_pow) - [`i{N}::strict_add_unsigned`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_add_unsigned) - [`i{N}::strict_sub_unsigned`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_sub_unsigned) - [`i{N}::strict_abs`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_abs) - [`u{N}::strict_add_signed`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_add_signed) - [`u{N}::strict_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_sub_signed) - [`PanicHookInfo::payload_as_str`](https://doc.rust-lang.org/stable/std/panic/struct.PanicHookInfo.html#method.payload_as_str) - [`core::iter::chain`](https://doc.rust-lang.org/stable/core/iter/fn.chain.html) - [`u{N}::checked_signed_diff`](https://doc.rust-lang.org/stable/std/primitive.u16.html#method.checked_signed_diff) - [`core::array::repeat`](https://doc.rust-lang.org/stable/core/array/fn.repeat.html) - [`PathBuf::add_extension`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.add_extension) - [`PathBuf::with_added_extension`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.with_added_extension) - [`Duration::from_mins`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.from_mins) - [`Duration::from_hours`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.from_hours) - [`impl PartialEq for PathBuf`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#impl-PartialEq%3Cstr%3E-for-PathBuf) - [`impl PartialEq for PathBuf`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#impl-PartialEq%3CString%3E-for-PathBuf) - [`impl PartialEq for Path`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#impl-PartialEq%3Cstr%3E-for-Path) - [`impl PartialEq for Path`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#impl-PartialEq%3CString%3E-for-Path) - [`impl PartialEq for String`](https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-PartialEq%3CPathBuf%3E-for-String) - [`impl PartialEq for String`](https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-PartialEq%3CPath%3E-for-String) - [`impl PartialEq for str`](https://doc.rust-lang.org/stable/std/primitive.str.html#impl-PartialEq%3CPathBuf%3E-for-str) - [`impl PartialEq for str`](https://doc.rust-lang.org/stable/std/primitive.str.html#impl-PartialEq%3CPath%3E-for-str) - [`Ipv4Addr::from_octets`](https://doc.rust-lang.org/stable/std/net/struct.Ipv4Addr.html#method.from_octets) - [`Ipv6Addr::from_octets`](https://doc.rust-lang.org/stable/std/net/struct.Ipv6Addr.html#method.from_octets) - [`Ipv6Addr::from_segments`](https://doc.rust-lang.org/stable/std/net/struct.Ipv6Addr.html#method.from_segments) - [`impl Default for Pin> where Box: Default, T: ?Sized`](https://doc.rust-lang.org/stable/std/default/trait.Default.html#impl-Default-for-Pin%3CBox%3CT%3E%3E) - [`impl Default for Pin> where Rc: Default, T: ?Sized`](https://doc.rust-lang.org/stable/std/default/trait.Default.html#impl-Default-for-Pin%3CRc%3CT%3E%3E) - [`impl Default for Pin> where Arc: Default, T: ?Sized`](https://doc.rust-lang.org/stable/std/default/trait.Default.html#impl-Default-for-Pin%3CArc%3CT%3E%3E) - [`Cell::as_array_of_cells`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.as_array_of_cells) - [`u{N}::carrying_add`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.carrying_add) - [`u{N}::borrowing_sub`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.borrowing_sub) - [`u{N}::carrying_mul`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.carrying_mul) - [`u{N}::carrying_mul_add`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.carrying_mul_add) - [`BTreeMap::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html#method.extract_if) - [`BTreeSet::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html#method.extract_if) - [`impl Debug for windows::ffi::EncodeWide<'_>`](https://doc.rust-lang.org/stable/std/os/windows/ffi/struct.EncodeWide.html#impl-Debug-for-EncodeWide%3C'_%3E) - [`str::ceil_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.ceil_char_boundary) - [`str::floor_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.floor_char_boundary) - [`impl Sum for Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Sum-for-Saturating%3Cu32%3E) - [`impl Sum<&Self> for Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Sum%3C%26Saturating%3Cu32%3E%3E-for-Saturating%3Cu32%3E) - [`impl Product for Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Product-for-Saturating%3Cu32%3E) - [`impl Product<&Self> for Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Product%3C%26Saturating%3Cu32%3E%3E-for-Saturating%3Cu32%3E) These previously stable APIs are now stable in const contexts: - [`<[T; N]>::each_ref`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_ref) - [`<[T; N]>::each_mut`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_mut) - [`OsString::new`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.new) - [`PathBuf::new`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.new) - [`TypeId::of`](https://doc.rust-lang.org/stable/std/any/struct.TypeId.html#method.of) - [`ptr::with_exposed_provenance`](https://doc.rust-lang.org/stable/std/ptr/fn.with_exposed_provenance.html) - [`ptr::with_exposed_provenance_mut`](https://doc.rust-lang.org/stable/std/ptr/fn.with_exposed_provenance_mut.html) ## Cargo - 🎉 Stabilize `build.build-dir`. This config sets the directory where intermediate build artifacts are stored. These artifacts are produced by Cargo and rustc during the build process. End users usually won't need to interact with them, and the layout inside `build-dir` is an implementation detail that may change without notice. ([config doc](https://doc.rust-lang.org/stable/cargo/reference/config.html#buildbuild-dir)) ([build cache doc](https://doc.rust-lang.org/stable/cargo/reference/build-cache.html)) [#​15833](https://redirect.github.com/rust-lang/cargo/pull/15833) [#​15840](https://redirect.github.com/rust-lang/cargo/pull/15840) - The `--target` flag and the `build.target` configuration can now take literal `"host-tuple"` string, which will internally be substituted by the host machine's target triple. [#​15838](https://redirect.github.com/rust-lang/cargo/pull/15838) [#​16003](https://redirect.github.com/rust-lang/cargo/pull/16003) [#​16032](https://redirect.github.com/rust-lang/cargo/pull/16032) ## Rustdoc - [In search results, rank doc aliases lower than non-alias items with the same name](https://redirect.github.com/rust-lang/rust/pull/145100) - [Raw pointers now work in type-based search like references](https://redirect.github.com/rust-lang/rust/pull/145731). This means you can now search for things like `*const u8 ->`, and additionally functions that take or return raw pointers will now display their signature properly in search results. ## Compatibility Notes - [Always require coroutine captures to be drop-live](https://redirect.github.com/rust-lang/rust/pull/144156) - [Apple: Always pass SDK root when linking with `cc`, and pass it via `SDKROOT` env var](https://redirect.github.com/rust-lang/rust/pull/131477). This should fix linking issues with `rustc` running inside Xcode. Libraries in `/usr/local/lib` may no longer be linked automatically, if you develop or use a crate that relies on this, you should explicitly set `cargo::rustc-link-search=/usr/local/lib` in a `build.rs` script. - [Relaxed bounds in associated type bound position like in `TraitRef` are now correctly forbidden](https://redirect.github.com/rust-lang/rust/pull/135331) - [Add unstable `#[sanitize(xyz = "on|off")]` built-in attribute that shadows procedural macros with the same name](https://redirect.github.com/rust-lang/rust/pull/142681) - [Fix the drop checker being more permissive for bindings declared with let-else](https://redirect.github.com/rust-lang/rust/pull/143028) - [Be more strict when parsing attributes, erroring on many invalid attributes](https://redirect.github.com/rust-lang/rust/pull/144689) - [Error on invalid `#[should_panic]` attributes](https://redirect.github.com/rust-lang/rust/pull/143808) - [Error on invalid `#[link]` attributes](https://redirect.github.com/rust-lang/rust/pull/143193) - [Mark all deprecation lints in name resolution as deny-by-default and also report in dependencies](https://redirect.github.com/rust-lang/rust/pull/143929) - The lint `semicolon_in_expressions_from_macros`, for `macro_rules!` macros in expression position that expand to end in a semicolon (`;`), is now deny-by-default. It was already warn-by-default, and a future compatibility warning (FCW) that warned even in dependencies. This lint will become a hard error in the future. - [Trait impl modifiers (e.g., `unsafe`, `!`, `default`) in inherent impls are no longer syntactically valid](https://redirect.github.com/rust-lang/rust/pull/144386) - [Start reporting future breakage for `ill_formed_attribute_input` in dependencies](https://redirect.github.com/rust-lang/rust/pull/144544) - [Restrict the scope of temporaries created by the macros `pin!`, `format_args!`, `write!`, and `writeln!` in `if let` scrutinees in Rust Edition 2024.](https://redirect.github.com/rust-lang/rust/pull/145342) This applies [Rust Edition 2024's `if let` temporary scope rules](https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html) to these temporaries, which previously could live past the `if` expression regardless of Edition. - [Invalid numeric literal suffixes in tuple indexing, tuple struct indexing, and struct field name positions are now correctly rejected](https://redirect.github.com/rust-lang/rust/pull/145463) - [Closures marked with the keyword `static` are now syntactically invalid](https://redirect.github.com/rust-lang/rust/pull/145604) - [Shebangs inside `--cfg` and `--check-cfg` arguments are no longer allowed](https://redirect.github.com/rust-lang/rust/pull/146211) - [Add future incompatibility lint for temporary lifetime shortening in Rust 1.92](https://redirect.github.com/rust-lang/rust/pull/147056) Cargo compatibility notes: - `cargo publish` no longer keeps `.crate` tarballs as final build artifacts when `build.build-dir` is set. These tarballs were previously included due to an oversight and are now treated as intermediate artifacts. To get `.crate` tarballs as final artifacts, use `cargo package`. In a future version, this change will apply regardless of `build.build-dir`. [#​15910](https://redirect.github.com/rust-lang/cargo/pull/15910) - Adjust Cargo messages to match rustc diagnostic style. This changes some of the terminal colors used by Cargo messages. [#​15928](https://redirect.github.com/rust-lang/cargo/pull/15928) - Tools and projects relying on the [internal details of Cargo's `build-dir`](https://doc.rust-lang.org/cargo/reference/build-cache.html) may not work for users changing their `build-dir` layout. For those doing so, we'd recommend proactively testing these cases particularly as we are considering changing the default location of the `build-dir` in the future ([cargo#16147](https://redirect.github.com/rust-lang/cargo/issues/16147)). If you can't migrate off of Cargo's internal details, we'd like to learn more about your use case as we prepare to change the layout of the `build-dir` ([cargo#15010](https://redirect.github.com/rust-lang/cargo/issues/15010)). ## 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. - [Update to LLVM 21](https://redirect.github.com/rust-lang/rust/pull/143684)
--- ### Configuration 📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (UTC), 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. --- - [ ] 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). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4c6d5c..88d1f6c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -107,7 +107,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.90" # STABLE + toolchain: "1.91" # STABLE - uses: Swatinem/rust-cache@v2 - name: Check documentation env: @@ -122,7 +122,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.90" # STABLE + toolchain: "1.91" # STABLE components: rustfmt - uses: Swatinem/rust-cache@v2 - name: Check formatting @@ -138,7 +138,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.90" # STABLE + toolchain: "1.91" # STABLE components: clippy - uses: Swatinem/rust-cache@v2 - name: Install SARIF tools From b8fbcb7f56a19232d08859630679a67fa8f17f6d Mon Sep 17 00:00:00 2001 From: Ed Page Date: Fri, 31 Oct 2025 13:03:46 -0500 Subject: [PATCH 04/22] chore(ci): string_to_string was merged into implicit_clone --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 6e0993a..99da9db 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -78,7 +78,6 @@ str_to_string = "warn" string_add = "warn" string_add_assign = "warn" string_lit_as_bytes = "warn" -string_to_string = "warn" todo = "warn" trait_duplication_in_bounds = "warn" uninlined_format_args = "warn" From 3628419d66afb293f44f5561ae689fce13709cb5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 1 Nov 2025 01:29:04 +0000 Subject: [PATCH 05/22] chore(deps): Update github/codeql-action action to v4 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88d1f6c..d1b1078 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -153,7 +153,7 @@ jobs: | sarif-fmt continue-on-error: true - name: Upload - uses: github/codeql-action/upload-sarif@v3 + uses: github/codeql-action/upload-sarif@v4 with: sarif_file: clippy-results.sarif wait-for-processing: true From ee2eef597d3c9f08acbd4aa8de3f85d2455d44b7 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 13 Nov 2025 10:46:26 -0600 Subject: [PATCH 06/22] chore(ci): Ensure latest-deps jobs actually uses them --- .github/workflows/rust-next.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/rust-next.yml b/.github/workflows/rust-next.yml index a19c5f2..c2e993a 100644 --- a/.github/workflows/rust-next.yml +++ b/.github/workflows/rust-next.yml @@ -47,6 +47,8 @@ jobs: latest: name: "Check latest dependencies" runs-on: ubuntu-latest + env: + CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS: allow steps: - name: Checkout repository uses: actions/checkout@v5 From b0881a6ba082613fbf7f4131acde9be9a0591c51 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 13 Nov 2025 10:57:21 -0600 Subject: [PATCH 07/22] chore(ci): Give more control over where alt version jobs run --- .github/workflows/ci.yml | 10 ++++++++-- .github/workflows/rust-next.yml | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1b1078..faf37f9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,10 @@ jobs: run: cargo hack test --each-feature --workspace msrv: name: "Check MSRV" - runs-on: ubuntu-latest + strategy: + matrix: + os: ["ubuntu-latest"] + runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v5 @@ -70,7 +73,10 @@ jobs: run: cargo hack check --each-feature --locked --rust-version --ignore-private --workspace --all-targets --keep-going minimal-versions: name: Minimal versions - runs-on: ubuntu-latest + strategy: + matrix: + os: ["ubuntu-latest"] + runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v5 diff --git a/.github/workflows/rust-next.yml b/.github/workflows/rust-next.yml index c2e993a..3eccec9 100644 --- a/.github/workflows/rust-next.yml +++ b/.github/workflows/rust-next.yml @@ -46,7 +46,10 @@ jobs: run: cargo hack test --each-feature --workspace latest: name: "Check latest dependencies" - runs-on: ubuntu-latest + strategy: + matrix: + os: ["ubuntu-latest"] + runs-on: ${{ matrix.os }} env: CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS: allow steps: From 1d7f42967da37b21d1fb16c7bd1ab7cc2600228e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Dec 2025 01:30:04 +0000 Subject: [PATCH 08/22] chore(deps): Update actions/checkout action to v6 --- .github/workflows/audit.yml | 4 ++-- .github/workflows/ci.yml | 16 ++++++++-------- .github/workflows/committed.yml | 2 +- .github/workflows/pre-commit.yml | 2 +- .github/workflows/rust-next.yml | 4 ++-- .github/workflows/spelling.yml | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml index a993804..7446e08 100644 --- a/.github/workflows/audit.yml +++ b/.github/workflows/audit.yml @@ -31,7 +31,7 @@ jobs: continue-on-error: true steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - uses: actions-rs/audit-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} @@ -46,7 +46,7 @@ jobs: checks: - bans licenses sources steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: EmbarkStudios/cargo-deny-action@v2 with: command: check ${{ matrix.checks }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index faf37f9..5e1975c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: CARGO_PROFILE_DEV_DEBUG: line-tables-only steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -62,7 +62,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -79,7 +79,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install stable Rust uses: dtolnay/rust-toolchain@stable with: @@ -96,7 +96,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -109,7 +109,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -124,7 +124,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -140,7 +140,7 @@ jobs: security-events: write # to upload sarif results steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -170,7 +170,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: diff --git a/.github/workflows/committed.yml b/.github/workflows/committed.yml index bb290c6..9138a8e 100644 --- a/.github/workflows/committed.yml +++ b/.github/workflows/committed.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Actions Repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Lint Commits diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index edba5b9..9eabc67 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -22,7 +22,7 @@ jobs: contents: read runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: actions/setup-python@v6 with: python-version: '3.x' diff --git a/.github/workflows/rust-next.yml b/.github/workflows/rust-next.yml index 3eccec9..8e4a1e9 100644 --- a/.github/workflows/rust-next.yml +++ b/.github/workflows/rust-next.yml @@ -33,7 +33,7 @@ jobs: CARGO_PROFILE_DEV_DEBUG: line-tables-only steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: @@ -54,7 +54,7 @@ jobs: CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS: allow steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml index c9df886..cf4c1bf 100644 --- a/.github/workflows/spelling.yml +++ b/.github/workflows/spelling.yml @@ -20,6 +20,6 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Actions Repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Spell Check Repo uses: crate-ci/typos@master From f4efb92a3804dfcf99c154c0df90440749acc8a2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 18:44:55 +0000 Subject: [PATCH 09/22] chore(deps): Update Rust Stable to v1.92 (#36) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.91` -> `1.92` | --- ### Release Notes
rust-lang/rust (STABLE) ### [`v1.92`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1920-2025-12-11) [Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.91.0...1.92.0) \========================== ## Language - [Document `MaybeUninit` representation and validity](https://redirect.github.com/rust-lang/rust/pull/140463) - [Allow `&raw [mut | const]` for union field in safe code](https://redirect.github.com/rust-lang/rust/pull/141469) - [Prefer item bounds of associated types over where-bounds for auto-traits and `Sized`](https://redirect.github.com/rust-lang/rust/pull/144064) - [Do not materialize `X` in `[X; 0]` when `X` is unsizing a const](https://redirect.github.com/rust-lang/rust/pull/145277) - [Support combining `#[track_caller]` and `#[no_mangle]` (requires every declaration specifying `#[track_caller]` as well)](https://redirect.github.com/rust-lang/rust/pull/145724) - [Make never type lints `never_type_fallback_flowing_into_unsafe` and `dependency_on_unit_never_type_fallback` deny-by-default](https://redirect.github.com/rust-lang/rust/pull/146167) - [Allow specifying multiple bounds for same associated item, except in trait objects](https://redirect.github.com/rust-lang/rust/pull/146593) - [Slightly strengthen higher-ranked region handling in coherence](https://redirect.github.com/rust-lang/rust/pull/146725) - [The `unused_must_use` lint no longer warns on `Result<(), Uninhabited>` (for instance, `Result<(), !>`), or `ControlFlow`](https://redirect.github.com/rust-lang/rust/pull/147382). This avoids having to check for an error that can never happen. ## Compiler - [Make `mips64el-unknown-linux-muslabi64` link dynamically](https://redirect.github.com/rust-lang/rust/pull/146858) - [Remove current code for embedding command-line args in PDB](https://redirect.github.com/rust-lang/rust/pull/147022) Command-line information is typically not needed by debugging tools, and the removed code was causing problems for incremental builds even on targets that don't use PDB debuginfo. ## Libraries - [Specialize `Iterator::eq{_by}` for `TrustedLen` iterators](https://redirect.github.com/rust-lang/rust/pull/137122) - [Simplify `Extend` for tuples](https://redirect.github.com/rust-lang/rust/pull/138799) - [Added details to `Debug` for `EncodeWide`](https://redirect.github.com/rust-lang/rust/pull/140153). - [`iter::Repeat::last`](https://redirect.github.com/rust-lang/rust/pull/147258) and [`count`](https://redirect.github.com/rust-lang/rust/pull/146410) will now panic, rather than looping infinitely. ## Stabilized APIs - [`NonZero::div_ceil`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.div_ceil) - [`Location::file_as_c_str`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file_as_c_str) - [`RwLockWriteGuard::downgrade`](https://doc.rust-lang.org/stable/std/sync/struct.RwLockWriteGuard.html#method.downgrade) - [`Box::new_zeroed`](https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#method.new_zeroed) - [`Box::new_zeroed_slice`](https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#method.new_zeroed_slice) - [`Rc::new_zeroed`](https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.new_zeroed) - [`Rc::new_zeroed_slice`](https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.new_zeroed_slice) - [`Arc::new_zeroed`](https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.new_zeroed) - [`Arc::new_zeroed_slice`](https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.new_zeroed_slice) - [`btree_map::Entry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/btree_map/enum.Entry.html#method.insert_entry) - [`btree_map::VacantEntry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.VacantEntry.html#method.insert_entry) - [`impl Extend for proc_macro::TokenStream`](https://doc.rust-lang.org/stable/proc_macro/struct.TokenStream.html#impl-Extend%3CGroup%3E-for-TokenStream) - [`impl Extend for proc_macro::TokenStream`](https://doc.rust-lang.org/stable/proc_macro/struct.TokenStream.html#impl-Extend%3CLiteral%3E-for-TokenStream) - [`impl Extend for proc_macro::TokenStream`](https://doc.rust-lang.org/stable/proc_macro/struct.TokenStream.html#impl-Extend%3CPunct%3E-for-TokenStream) - [`impl Extend for proc_macro::TokenStream`](https://doc.rust-lang.org/stable/proc_macro/struct.TokenStream.html#impl-Extend%3CIdent%3E-for-TokenStream) These previously stable APIs are now stable in const contexts: - [`<[_]>::rotate_left`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.rotate_left) - [`<[_]>::rotate_right`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.rotate_right) ## Cargo - [Added a new chapter](https://redirect.github.com/rust-lang/cargo/issues/16119) to the Cargo book, ["Optimizing Build Performance"](https://doc.rust-lang.org/stable/cargo/guide/build-performance.html). ## Rustdoc - [If a trait item appears in rustdoc search, hide the corresponding impl items](https://redirect.github.com/rust-lang/rust/pull/145898). Previously a search for "last" would show both `Iterator::last` as well as impl methods like `std::vec::IntoIter::last`. Now these impl methods will be hidden, freeing up space for inherent methods like `BTreeSet::last`. - [Relax rules for identifiers in search](https://redirect.github.com/rust-lang/rust/pull/147860). Previously you could only search for identifiers that were valid in rust code, now searches only need to be valid as part of an identifier. For example, you can now perform a search that starts with a digit. ## Compatibility Notes - [Fix backtraces with `-C panic=abort` on Linux by generating unwind tables by default](https://redirect.github.com/rust-lang/rust/pull/143613). Build with `-C force-unwind-tables=no` to keep omitting unwind tables. * As part of the larger effort refactoring compiler built-in attributes and their diagnostics, [the future-compatibility lint `invalid_macro_export_arguments` is upgraded to deny-by-default and will be reported in dependencies too.](https://redirect.github.com/rust-lang/rust/pull/143857) * [Update the minimum external LLVM to 20](https://redirect.github.com/rust-lang/rust/pull/145071) * [Prevent downstream `impl DerefMut for Pin`](https://redirect.github.com/rust-lang/rust/pull/145608) * [Don't apply temporary lifetime extension rules to the arguments of non-extended `pin!` and formatting macros](https://redirect.github.com/rust-lang/rust/pull/145838)
--- ### Configuration 📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (UTC), 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. --- - [ ] 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). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5e1975c..3545b0b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,7 +113,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.91" # STABLE + toolchain: "1.92" # STABLE - uses: Swatinem/rust-cache@v2 - name: Check documentation env: @@ -128,7 +128,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.91" # STABLE + toolchain: "1.92" # STABLE components: rustfmt - uses: Swatinem/rust-cache@v2 - name: Check formatting @@ -144,7 +144,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.91" # STABLE + toolchain: "1.92" # STABLE components: clippy - uses: Swatinem/rust-cache@v2 - name: Install SARIF tools From 3f895ab0e3da9e556e4bfae5c97a0ee0b0e23e0c Mon Sep 17 00:00:00 2001 From: Ed Page Date: Wed, 31 Dec 2025 08:49:21 -0600 Subject: [PATCH 10/22] chore(ci): Attempt to auto-update pre-commit --- .github/renovate.json5 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 27749d4..392994f 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -6,6 +6,9 @@ commitMessageLowerCase: 'never', configMigration: true, dependencyDashboard: true, + pre-commit: { + "enabled": true + }, customManagers: [ { customType: 'regex', From 4253271eab3d0bf25ed0556653186cfeac77a394 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Wed, 31 Dec 2025 09:02:34 -0600 Subject: [PATCH 11/22] chore(ci): Attempt to auto-update pre-commit --- .github/renovate.json5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 392994f..38ad33a 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -6,8 +6,8 @@ commitMessageLowerCase: 'never', configMigration: true, dependencyDashboard: true, - pre-commit: { - "enabled": true + "pre-commit": { + enabled: true }, customManagers: [ { From b0aa288c22107c484d913d984445d5371ebc06b8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 1 Jan 2026 04:42:29 +0000 Subject: [PATCH 12/22] chore(deps): Update pre-commit hook crate-ci/committed to v1.1.9 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 656c68e..627e31d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,6 +14,6 @@ repos: hooks: - id: typos - repo: https://github.com/crate-ci/committed - rev: v1.1.7 + rev: v1.1.9 hooks: - id: committed From d841861bf8a4aba4164acfeb9841e5ed08886d6b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 1 Jan 2026 04:42:32 +0000 Subject: [PATCH 13/22] chore(deps): Update pre-commit hook crate-ci/typos to v1.41.0 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 656c68e..9b514c4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,7 +10,7 @@ repos: - id: check-case-conflict - id: detect-private-key - repo: https://github.com/crate-ci/typos - rev: v1.32.0 + rev: v1.41.0 hooks: - id: typos - repo: https://github.com/crate-ci/committed From 16faf2c10d588642bf510ee7696856da66d87688 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Wed, 14 Jan 2026 15:57:03 -0600 Subject: [PATCH 14/22] chore(ci): Switch from pre-commit to prek --- .github/workflows/pre-commit.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 9eabc67..05fe12f 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -23,7 +23,4 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: actions/setup-python@v6 - with: - python-version: '3.x' - - uses: pre-commit/action@v3.0.1 + - uses: j178/prek-action@v1 From 5932b20e5c1bf87cf9b2358053b60ef047adc70d Mon Sep 17 00:00:00 2001 From: Ed Page Date: Wed, 14 Jan 2026 16:02:53 -0600 Subject: [PATCH 15/22] chore(ci): Pin the prek version --- .github/renovate.json5 | 26 ++++++++++++++++++++++++++ .github/workflows/pre-commit.yml | 2 ++ 2 files changed, 28 insertions(+) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 38ad33a..cc1fefc 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -28,6 +28,18 @@ packageNameTemplate: 'rust-lang/rust', datasourceTemplate: 'github-releases', }, + { + customType: 'regex', + managerFilePatterns: [ + '/^\\.github/workflows/pre-commit.yml$/', + ], + matchStrings: [ + 'prek-version.*?(?\\d+\\.\\d+(\\.\\d+)?)', + ], + depNameTemplate: 'prek', + packageNameTemplate: 'j178/prek', + datasourceTemplate: 'github-releases', + }, ], packageRules: [ { @@ -44,6 +56,20 @@ ], automerge: true, }, + { + commitMessageTopic: 'Prek', + matchManagers: [ + 'custom.regex', + ], + matchDepNames: [ + 'prek', + ], + extractVersion: '^(?\\d+\\.\\d+\\.\\d+)', + schedule: [ + '* * * * *', + ], + automerge: true, + }, // Goals: // - Keep version reqs low, ignoring compatible normal/build dependencies // - Take advantage of latest dev-dependencies diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 05fe12f..ef1a54a 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -24,3 +24,5 @@ jobs: steps: - uses: actions/checkout@v6 - uses: j178/prek-action@v1 + with: + prek-version: '0.2.27' From 98ba1ea02e509d4e0833a07d4ef4598b9c26ea63 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Wed, 23 Oct 2024 08:55:02 -0500 Subject: [PATCH 16/22] chore(ci): Automatic update from template --- .github/workflows/template.yml | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/template.yml diff --git a/.github/workflows/template.yml b/.github/workflows/template.yml new file mode 100644 index 0000000..44b115c --- /dev/null +++ b/.github/workflows/template.yml @@ -0,0 +1,53 @@ +name: Template Update + +permissions: + contents: read + +on: + schedule: + - cron: '1 1 1 * *' + workflow_dispatch: + +env: + RUST_BACKTRACE: 1 + CARGO_TERM_COLOR: always + CLICOLOR: 1 + TEMPLATE_URL: "https://github.com/epage/_rust.git" + TEMPLATE_BRANCH: "main" + +concurrency: + group: "${{ github.workflow }}-${{ github.ref }}" + cancel-in-progress: true + +jobs: + update: + permissions: + security-events: write # to create PR + pull-requests: write + contents: write # to push the branch + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Configure git + run: | + git config --global user.name '${{ github.actor }}' + git config --global user.email '<>' + - name: Fetch template + run: "git remote add template ${{ env.TEMPLATE_URL }} && git fetch template ${{ env.TEMPLATE_BRANCH }}" + - name: Merge template + run: "git checkout -b template-update && git merge template/${{ env.TEMPLATE_BRANCH }} -m 'chore: Update from template'" + - name: Push branch + run: "git push --set-upstream origin template-update" + env: + GH_TOKEN: ${{ github.token }} + - name: Create PR + run: "gh pr create --head template-update --title 'chore: Update from template' --body ''" + env: + GH_TOKEN: ${{ github.token }} + - name: Merge PR + run: "gh pr merge --auto --delete-branch" + env: + GH_TOKEN: ${{ github.token }} From 8940aef5dce54b27a08919307d82fcf060409747 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 19 Jan 2026 08:48:12 -0600 Subject: [PATCH 17/22] chore: Update prek hooks --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bc4c740..7aa56f7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ default_install_hook_types: ["pre-commit", "commit-msg"] repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: check-yaml - id: check-json @@ -10,10 +10,10 @@ repos: - id: check-case-conflict - id: detect-private-key - repo: https://github.com/crate-ci/typos - rev: v1.41.0 + rev: v1.42.1 hooks: - id: typos - repo: https://github.com/crate-ci/committed - rev: v1.1.9 + rev: v1.1.10 hooks: - id: committed From 24c5c995faba5b7e0c7f032f0bf38ad066cf83a8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 22 Jan 2026 18:06:38 +0000 Subject: [PATCH 18/22] chore(deps): Update Rust Stable to v1.93 (#42) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.92` → `1.93` | --- ### Release Notes
rust-lang/rust (STABLE) ### [`v1.93`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1930-2026-01-22) [Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.92.0...1.93.0) \========================== ## Language - [Stabilize several s390x `vector`-related target features and the `is_s390x_feature_detected!` macro](https://redirect.github.com/rust-lang/rust/pull/145656) - [Stabilize declaration of C-style variadic functions for the `system` ABI](https://redirect.github.com/rust-lang/rust/pull/145954) - [Emit error when using some keyword as a `cfg` predicate](https://redirect.github.com/rust-lang/rust/pull/146978) - [Stabilize `asm_cfg`](https://redirect.github.com/rust-lang/rust/pull/147736) - [During const-evaluation, support copying pointers byte-by-byte](https://redirect.github.com/rust-lang/rust/pull/148259) - [LUB coercions now correctly handle function item types, and functions with differing safeties](https://redirect.github.com/rust-lang/rust/pull/148602) - [Allow `const` items that contain mutable references to `static` (which is *very* unsafe, but not *always* UB)](https://redirect.github.com/rust-lang/rust/pull/148746) - [Add warn-by-default `const_item_interior_mutations` lint to warn against calls which mutate interior mutable `const` items](https://redirect.github.com/rust-lang/rust/pull/148407) - [Add warn-by-default `function_casts_as_integer` lint](https://redirect.github.com/rust-lang/rust/pull/141470) ## Compiler - [Stabilize `-Cjump-tables=bool`](https://redirect.github.com/rust-lang/rust/pull/145974). The flag was previously called `-Zno-jump-tables`. ## Platform Support - [Promote `riscv64a23-unknown-linux-gnu` to Tier 2 (without host tools)](https://redirect.github.com/rust-lang/rust/pull/148435) 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 ## Libraries - [Stop internally using `specialization` on the `Copy` trait as it is unsound in the presence of lifetime dependent `Copy` implementations. This may result in some performance regressions as some standard library APIs may now call `Clone::clone` instead of performing bitwise copies](https://redirect.github.com/rust-lang/rust/pull/135634) - [Allow the global allocator to use thread-local storage and `std::thread::current()`](https://redirect.github.com/rust-lang/rust/pull/144465) - [Make `BTree::append` not update existing keys when appending an entry which already exists](https://redirect.github.com/rust-lang/rust/pull/145628) - [Don't require `T: RefUnwindSafe` for `vec::IntoIter: UnwindSafe`](https://redirect.github.com/rust-lang/rust/pull/145665) ## Stabilized APIs - [`<[MaybeUninit]>::assume_init_drop`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.assume_init_drop) - [`<[MaybeUninit]>::assume_init_ref`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.assume_init_ref) - [`<[MaybeUninit]>::assume_init_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.assume_init_mut) - [`<[MaybeUninit]>::write_copy_of_slice`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.write_copy_of_slice) - [`<[MaybeUninit]>::write_clone_of_slice`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.write_clone_of_slice) - [`String::into_raw_parts`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.into_raw_parts) - [`Vec::into_raw_parts`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.into_raw_parts) - [`::unchecked_neg`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unchecked_neg) - [`::unchecked_shl`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unchecked_shl) - [`::unchecked_shr`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unchecked_shr) - [`::unchecked_shl`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unchecked_shl) - [`::unchecked_shr`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unchecked_shr) - [`<[T]>::as_array`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_array) - [`<[T]>::as_array_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_mut_array) - [`<*const [T]>::as_array`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_array) - [`<*mut [T]>::as_array_mut`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_mut_array) - [`VecDeque::pop_front_if`](https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.pop_front_if) - [`VecDeque::pop_back_if`](https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.pop_back_if) - [`Duration::from_nanos_u128`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.from_nanos_u128) - [`char::MAX_LEN_UTF8`](https://doc.rust-lang.org/stable/std/primitive.char.html#associatedconstant.MAX_LEN_UTF8) - [`char::MAX_LEN_UTF16`](https://doc.rust-lang.org/stable/std/primitive.char.html#associatedconstant.MAX_LEN_UTF16) - [`std::fmt::from_fn`](https://doc.rust-lang.org/stable/std/fmt/fn.from_fn.html) - [`std::fmt::FromFn`](https://doc.rust-lang.org/stable/std/fmt/struct.FromFn.html) ## Cargo - [Enable CARGO\_CFG\_DEBUG\_ASSERTIONS in build scripts based on profile](https://redirect.github.com/rust-lang/cargo/pull/16160/) - [In `cargo tree`, support long forms for `--format` variables](https://redirect.github.com/rust-lang/cargo/pull/16204/) - [Add `--workspace` to `cargo clean`](https://redirect.github.com/rust-lang/cargo/pull/16263/) ## Rustdoc - [Remove `#![doc(document_private_items)]`](https://redirect.github.com/rust-lang/rust/pull/146495) - [Include attribute and derive macros in search filters for "macros"](https://redirect.github.com/rust-lang/rust/pull/148176) - [Include extern crates in search filters for `import`](https://redirect.github.com/rust-lang/rust/pull/148301) - [Validate usage of crate-level doc attributes](https://redirect.github.com/rust-lang/rust/pull/149197). This means if any of `html_favicon_url`, `html_logo_url`, `html_playground_url`, `issue_tracker_base_url`, or `html_no_source` either has a missing value, an unexpected value, or a value of the wrong type, rustdoc will emit the deny-by-default lint `rustdoc::invalid_doc_attributes`. ## Compatibility Notes - [Introduce `pin_v2` into the builtin attributes namespace](https://redirect.github.com/rust-lang/rust/pull/139751) - [Update bundled musl to 1.2.5](https://redirect.github.com/rust-lang/rust/pull/142682) - [On Emscripten, the unwinding ABI used when compiling with `panic=unwind` was changed from the JS exception handling ABI to the wasm exception handling ABI.](https://redirect.github.com/rust-lang/rust/pull/147224) If linking C/C++ object files with Rust objects, `-fwasm-exceptions` must be passed to the linker now. On nightly Rust, it is possible to get the old behavior with `-Zwasm-emscripten-eh=false -Zbuild-std`, but it will be removed in a future release. - The `#[test]` attribute, used to define tests, was previously ignored in various places where it had no meaning (e.g on trait methods or types). Putting the `#[test]` attribute in these places is no longer ignored, and will now result in an error; this may also result in errors when generating rustdoc. [Error when `test` attribute is applied to structs](https://redirect.github.com/rust-lang/rust/pull/147841) - Cargo now sets the `CARGO_CFG_DEBUG_ASSERTIONS` environment variable in more situations. This will cause crates depending on `static-init` versions 1.0.1 to 1.0.3 to fail compilation with "failed to resolve: use of unresolved module or unlinked crate `parking_lot`". See [the linked issue](https://redirect.github.com/rust-lang/rust/issues/150646#issuecomment-3718964342) for details. - [User written types in the `offset_of!` macro are now checked to be well formed.](https://redirect.github.com/rust-lang/rust/issues/150465/) - `cargo publish` no longer emits `.crate` files as a final artifact for user access when the `build.build-dir` config is unset - [Upgrade the `deref_nullptr` lint from warn-by-default to deny-by-default](https://redirect.github.com/rust-lang/rust/pull/148122) - [Add future-incompatibility warning for `...` function parameters without a pattern outside of `extern` blocks](https://redirect.github.com/rust-lang/rust/pull/143619) - [Introduce future-compatibility warning for `repr(C)` enums whose discriminant values do not fit into a `c_int` or `c_uint`](https://redirect.github.com/rust-lang/rust/pull/147017) - [Introduce future-compatibility warning against ignoring `repr(C)` types as part of `repr(transparent)`](https://redirect.github.com/rust-lang/rust/pull/147185)
--- ### Configuration 📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (UTC), 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. --- - [ ] 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). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3545b0b..c0cfa6a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,7 +113,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.92" # STABLE + toolchain: "1.93" # STABLE - uses: Swatinem/rust-cache@v2 - name: Check documentation env: @@ -128,7 +128,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.92" # STABLE + toolchain: "1.93" # STABLE components: rustfmt - uses: Swatinem/rust-cache@v2 - name: Check formatting @@ -144,7 +144,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.92" # STABLE + toolchain: "1.93" # STABLE components: clippy - uses: Swatinem/rust-cache@v2 - name: Install SARIF tools From 74f4be64a9464b8e4734ed462c7e25030f36cf35 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Fri, 23 Jan 2026 10:43:45 -0600 Subject: [PATCH 19/22] chore(ci): Fix name of clippy::empty_enums --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 99da9db..55d98ad 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ create_dir = "warn" dbg_macro = "warn" debug_assert_with_mut_call = "warn" doc_markdown = "warn" -empty_enum = "warn" +empty_enums = "warn" enum_glob_use = "warn" expl_impl_clone_on_copy = "warn" explicit_deref_methods = "warn" From 30b3b14bd665d443f45123729dc69d1f085575f9 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 26 Jan 2026 12:29:03 -0600 Subject: [PATCH 20/22] chore(ci): Fix how rustfmt jobs run --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c0cfa6a..72ec649 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -132,7 +132,7 @@ jobs: components: rustfmt - uses: Swatinem/rust-cache@v2 - name: Check formatting - run: cargo fmt --all -- --check + run: cargo fmt --check clippy: name: clippy runs-on: ubuntu-latest From 6d0d36b0723b29856d380eb89b3c571a9f9c570f Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 26 Jan 2026 12:34:16 -0600 Subject: [PATCH 21/22] chore(ci): Clean up previous branch in case it was leaked --- .github/workflows/template.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/template.yml b/.github/workflows/template.yml index 44b115c..be139ea 100644 --- a/.github/workflows/template.yml +++ b/.github/workflows/template.yml @@ -39,6 +39,11 @@ jobs: run: "git remote add template ${{ env.TEMPLATE_URL }} && git fetch template ${{ env.TEMPLATE_BRANCH }}" - name: Merge template run: "git checkout -b template-update && git merge template/${{ env.TEMPLATE_BRANCH }} -m 'chore: Update from template'" + - name: Clear any existing branch + run: "git push origin --delete template-update" + continue-on-error: true + env: + GH_TOKEN: ${{ github.token }} - name: Push branch run: "git push --set-upstream origin template-update" env: From e4f2b351a3d5290a8f26db395bf736e0f80a5856 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 26 Jan 2026 16:45:18 -0600 Subject: [PATCH 22/22] chore(ci): Update action --- .github/workflows/template.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/template.yml b/.github/workflows/template.yml index be139ea..1d4fd85 100644 --- a/.github/workflows/template.yml +++ b/.github/workflows/template.yml @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Configure git