Skip to content

Oxc crate v0.17.0 is yanked #4060

@Boshen

Description

@Boshen

There is a huge behavior change in the visitor where expression visits are missed.

e.g.

Before:

    pub fn walk_expression_array_element<'a, V: Visit<'a>>(visitor: &mut V, expr: &Expression<'a>) {
        let kind = AstKind::ExpressionArrayElement(visitor.alloc(expr));
        visitor.enter_node(kind);
        visitor.visit_expression(expr);
        visitor.leave_node(kind);
    }

v0.17.0:

    pub fn walk_expression_array_element<'a, V: Visit<'a>>(visitor: &mut V, it: &Expression<'a>) {
        let kind = AstKind::ExpressionArrayElement(visitor.alloc(it));
        visitor.enter_node(kind);
        match it {
            Expression::BooleanLiteral(it) => visitor.visit_boolean_literal(it),
            Expression::NullLiteral(it) => visitor.visit_null_literal(it),
            Expression::NumericLiteral(it) => visitor.visit_numeric_literal(it),
            Expression::BigIntLiteral(it) => visitor.visit_big_int_literal(it),
            Expression::RegExpLiteral(it) => visitor.visit_reg_exp_literal(it),

THIS IS A BUG.

Metadata

Metadata

Assignees

Labels

C-bugCategory - BugP-highPriority - High

Type

No type

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions