From 1da3dc1920a3e3b159c20f922f996cdeec18fa8d Mon Sep 17 00:00:00 2001
From: renovate <29139614+renovate@users.noreply.github.com>
Date: Thu, 11 Dec 2025 19:03:07 +0000
Subject: [PATCH] chore(deps): update dependency rust to v1.92.0 (#16758)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [rust](https://redirect.github.com/rust-lang/rust) | minor | `1.91.1` -> `1.92.0` |
---
rust-lang/rust (rust)
[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.91.1...1.92.0)
\==========================
- [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.
- [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.
- [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.
- [`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)
- [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).
- [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.
- [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)
---
📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/oxc-project/oxc).
---------
Co-authored-by: Cameron Clark
---
crates/oxc_cfg/src/visit.rs | 4 ++--
crates/oxc_data_structures/src/assert_unchecked.rs | 2 --
crates/oxc_span/src/compact_str.rs | 2 --
crates/oxc_transformer/src/typescript/module.rs | 2 +-
crates/oxc_traverse/scripts/lib/ancestor.mjs | 2 +-
crates/oxc_traverse/scripts/lib/walk.mjs | 2 +-
crates/oxc_traverse/src/generated/ancestor.rs | 2 +-
crates/oxc_traverse/src/generated/walk.rs | 2 +-
rust-toolchain.toml | 2 +-
9 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/crates/oxc_cfg/src/visit.rs b/crates/oxc_cfg/src/visit.rs
index a30f0ed7e53fa..5264b339877ec 100644
--- a/crates/oxc_cfg/src/visit.rs
+++ b/crates/oxc_cfg/src/visit.rs
@@ -138,9 +138,9 @@ where
unreachable!()
);
} else if !finished.is_visited(&v) {
- try_control!(visitor(DfsEvent::BackEdge(u, v)), continue);
+ try_control!(visitor(DfsEvent::BackEdge(u, v)), {});
} else {
- try_control!(visitor(DfsEvent::CrossForwardEdge(u, v)), continue);
+ try_control!(visitor(DfsEvent::CrossForwardEdge(u, v)), {});
}
}
);
diff --git a/crates/oxc_data_structures/src/assert_unchecked.rs b/crates/oxc_data_structures/src/assert_unchecked.rs
index e9ddd75adbbb1..33f33761d1a92 100644
--- a/crates/oxc_data_structures/src/assert_unchecked.rs
+++ b/crates/oxc_data_structures/src/assert_unchecked.rs
@@ -60,8 +60,6 @@ const _MACRO_CANNOT_BE_USED_WITHOUT_UNSAFE: () = ();
#[expect(clippy::undocumented_unsafe_blocks)]
mod test {
mod pass {
- use crate::assert_unchecked;
-
#[test]
fn plain() {
unsafe { assert_unchecked!(0 == 0) };
diff --git a/crates/oxc_span/src/compact_str.rs b/crates/oxc_span/src/compact_str.rs
index 2457270c1a6af..248f9daf30edc 100644
--- a/crates/oxc_span/src/compact_str.rs
+++ b/crates/oxc_span/src/compact_str.rs
@@ -258,8 +258,6 @@ macro_rules! format_compact_str {
mod test {
use compact_str::CompactString;
- use crate::format_compact_str;
-
use super::CompactStr;
#[test]
diff --git a/crates/oxc_transformer/src/typescript/module.rs b/crates/oxc_transformer/src/typescript/module.rs
index 636ce8910e3ce..a44bdc7697ae0 100644
--- a/crates/oxc_transformer/src/typescript/module.rs
+++ b/crates/oxc_transformer/src/typescript/module.rs
@@ -171,7 +171,7 @@ impl<'a> TypeScriptModule<'a, '_> {
Some(ctx.ast.declaration_variable(SPAN, kind, decls, false))
}
- #[expect(clippy::only_used_in_recursion)]
+ #[expect(clippy::self_only_used_in_recursion)]
fn transform_ts_type_name(
&self,
type_name: &mut TSTypeName<'a>,
diff --git a/crates/oxc_traverse/scripts/lib/ancestor.mjs b/crates/oxc_traverse/scripts/lib/ancestor.mjs
index 2b5104c50df1e..2fb38c45f33f4 100644
--- a/crates/oxc_traverse/scripts/lib/ancestor.mjs
+++ b/crates/oxc_traverse/scripts/lib/ancestor.mjs
@@ -147,7 +147,7 @@ export default function generateAncestorsCode(types) {
/// i.e. \`Ancestor\`s can only exist within the body of \`enter_*\` and \`exit_*\` methods
/// and cannot "escape" from them.
//
- // SAFETY:
+ // INVARIANTS:
// * This type must be \`#[repr(u16)]\`.
// * Variant discriminants must correspond to those in \`AncestorType\`.
//
diff --git a/crates/oxc_traverse/scripts/lib/walk.mjs b/crates/oxc_traverse/scripts/lib/walk.mjs
index 4a54e87e02a7d..68476c4e44b4e 100644
--- a/crates/oxc_traverse/scripts/lib/walk.mjs
+++ b/crates/oxc_traverse/scripts/lib/walk.mjs
@@ -42,7 +42,7 @@ export default function generateWalkFunctionsCode(types) {
/// Walk AST with \`Traverse\` impl.
///
- /// SAFETY:
+ /// # Safety
/// * \`program\` must be a pointer to a valid \`Program\` which has lifetime \`'a\`
/// (\`Program<'a>\`).
/// * \`ctx\` must contain a \`TraverseAncestry<'a>\` with single \`Ancestor::None\` on its stack.
diff --git a/crates/oxc_traverse/src/generated/ancestor.rs b/crates/oxc_traverse/src/generated/ancestor.rs
index 015001aa4302c..d486e1013c4a3 100644
--- a/crates/oxc_traverse/src/generated/ancestor.rs
+++ b/crates/oxc_traverse/src/generated/ancestor.rs
@@ -329,7 +329,7 @@ pub(crate) enum AncestorType {
/// i.e. `Ancestor`s can only exist within the body of `enter_*` and `exit_*` methods
/// and cannot "escape" from them.
//
-// SAFETY:
+// INVARIANTS:
// * This type must be `#[repr(u16)]`.
// * Variant discriminants must correspond to those in `AncestorType`.
//
diff --git a/crates/oxc_traverse/src/generated/walk.rs b/crates/oxc_traverse/src/generated/walk.rs
index f566d009c22ca..21e318d174ad6 100644
--- a/crates/oxc_traverse/src/generated/walk.rs
+++ b/crates/oxc_traverse/src/generated/walk.rs
@@ -25,7 +25,7 @@ use crate::{
/// Walk AST with `Traverse` impl.
///
-/// SAFETY:
+/// # Safety
/// * `program` must be a pointer to a valid `Program` which has lifetime `'a`
/// (`Program<'a>`).
/// * `ctx` must contain a `TraverseAncestry<'a>` with single `Ancestor::None` on its stack.
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 3ec291c482913..9cf77fc11c622 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,3 +1,3 @@
[toolchain]
-channel = "1.91.1"
+channel = "1.92.0"
profile = "default"