diff --git a/crates/oxc_ast/src/ast_impl/js.rs b/crates/oxc_ast/src/ast_impl/js.rs index 8db452837..cfe8a373c 100644 --- a/crates/oxc_ast/src/ast_impl/js.rs +++ b/crates/oxc_ast/src/ast_impl/js.rs @@ -310,6 +310,16 @@ 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()) + } + } +} + impl ObjectPropertyKind<'_> { /// Returns `true` if this object property is a [spread](SpreadElement). #[inline]