diff --git a/crates/oxc_ast/src/ast_impl/js.rs b/crates/oxc_ast/src/ast_impl/js.rs index b05519ec3eb39..1ff48973fa5f1 100644 --- a/crates/oxc_ast/src/ast_impl/js.rs +++ b/crates/oxc_ast/src/ast_impl/js.rs @@ -321,10 +321,9 @@ impl ArrayExpressionElement<'_> { impl<'a> From> for ArrayExpressionElement<'a> { fn from(argument: Argument<'a>) -> Self { - if let Argument::SpreadElement(spread) = argument { - ArrayExpressionElement::SpreadElement(spread) - } else { - ArrayExpressionElement::from(argument.into_expression()) + match argument { + Argument::SpreadElement(spread) => Self::SpreadElement(spread), + match_expression!(Argument) => Self::from(argument.into_expression()), } } }