diff --git a/src/core/ast/expr_layer.h b/src/core/ast/expr_layer.h index 415d4052..244964f0 100644 --- a/src/core/ast/expr_layer.h +++ b/src/core/ast/expr_layer.h @@ -82,7 +82,8 @@ namespace brgen::ast { constexpr bool is_assign_op(BinaryOp op) { constexpr auto begin = int(BinaryOp::assign); constexpr auto end = int(BinaryOp::bit_xor_assign); - return begin <= int(op) && int(op) <= end; + return begin <= int(op) && int(op) <= end || + op == BinaryOp::in_assign || op == BinaryOp::append_assign; // special case } constexpr bool is_define_op(BinaryOp op) {