diff --git a/crates/oxc_linter/src/utils/regex.rs b/crates/oxc_linter/src/utils/regex.rs index 428ca1e7d7b11..baaf6fbae81c1 100644 --- a/crates/oxc_linter/src/utils/regex.rs +++ b/crates/oxc_linter/src/utils/regex.rs @@ -35,8 +35,8 @@ fn run_on_arguments(arg1: Option<&Argument>, arg2: Option<&Argument>, ctx: &L where M: FnOnce(&Pattern<'_>, Span), { - let arg1 = arg1.map(|arg| arg.to_expression().get_inner_expression()); - let arg2 = arg2.map(|arg| arg.to_expression().get_inner_expression()); + let arg1 = arg1.and_then(Argument::as_expression).map(Expression::get_inner_expression); + let arg2 = arg2.and_then(Argument::as_expression).map(Expression::get_inner_expression); // note: improvements required for strings used via identifier references // Missing or non-string arguments will be runtime errors, but are not covered by this rule. match (&arg1, &arg2) {