diff --git a/ast-generator/src/build_fn/polymorphic_enum_loop_build_fn.rs b/ast-generator/src/build_fn/polymorphic_enum_loop_build_fn.rs index 837df34..bcde9d4 100644 --- a/ast-generator/src/build_fn/polymorphic_enum_loop_build_fn.rs +++ b/ast-generator/src/build_fn/polymorphic_enum_loop_build_fn.rs @@ -86,7 +86,7 @@ pub fn make_polymorphic_enum_loop_build_fn(spec: &PolymorphicEnumLoopBuildSpec) } else { quote! { #pair_ident.into_inner() } }; - + let match_arms = spec .rules() .map(|rule| make_match_arm(spec, rule)) @@ -98,7 +98,7 @@ pub fn make_polymorphic_enum_loop_build_fn(spec: &PolymorphicEnumLoopBuildSpec) for inner_pair in #iter_expr { match inner_pair.as_rule() { #(#match_arms,)* - _ => unreachable!() + _ => unreachable!("Unexpected parse rule: {:?} (inner pair: {:#?}", inner_pair.as_rule(), inner_pair), } } result.unwrap() diff --git a/src/parser/ast.yaml b/src/parser/ast.yaml index de46d99..ae1b2e9 100644 --- a/src/parser/ast.yaml +++ b/src/parser/ast.yaml @@ -919,6 +919,7 @@ AdditiveExpression: - MultiplicativeExpression: pass_through: kind: Expression + with: MultiplicativeExpression - AdditiveRhs: build: variant: Additive @@ -954,6 +955,7 @@ MultiplicativeExpression: - PrefixExpression: pass_through: kind: Expression + with: PrefixExpression - MultiplicativeRhs: build: variant: Multiplicative