@@ -1032,7 +1032,8 @@ ty_qualified_path_and_generic_values
1032
1032
}
1033
1033
| ty_qualified_path ',' ty_sums maybe_bindings
1034
1034
{
1035
- $$ = mk_node("GenericValues", 3, mk_none(), ext_node(mk_node("TySums", 1, $1), 1, $3), $4); }
1035
+ $$ = mk_node("GenericValues", 3, mk_none(), mk_node("TySums", 2, $1, $3), $4);
1036
+ }
1036
1037
;
1037
1038
1038
1039
ty_qualified_path
@@ -1521,31 +1522,35 @@ nonblock_prefix_expr
1521
1522
;
1522
1523
1523
1524
expr_qualified_path
1524
- : '<' ty_sum AS trait_ref '>' MOD_SEP ident
1525
+ : '<' ty_sum maybe_as_trait_ref '>' MOD_SEP ident
1525
1526
{
1526
- $$ = mk_node("ExprQualifiedPath", 3, $2, $4 , $7 );
1527
+ $$ = mk_node("ExprQualifiedPath", 3, $2, $3 , $6 );
1527
1528
}
1528
- | '<' ty_sum AS trait_ref '>' MOD_SEP ident generic_args
1529
+ | '<' ty_sum maybe_as_trait_ref '>' MOD_SEP ident generic_args
1529
1530
{
1530
- $$ = mk_node("ExprQualifiedPath", 4, $2, $4 , $7 , $8 );
1531
+ $$ = mk_node("ExprQualifiedPath", 4, $2, $3 , $6 , $7 );
1531
1532
}
1532
- | SHL ty_sum AS trait_ref '>' MOD_SEP ident AS trait_ref '>' MOD_SEP ident
1533
+ | SHL ty_sum maybe_as_trait_ref '>' MOD_SEP ident maybe_as_trait_ref '>' MOD_SEP ident
1533
1534
{
1534
- $$ = mk_node("ExprQualifiedPath", 3, mk_node("ExprQualifiedPath", 3, $2, $4 , $7 ), $9 , $12 );
1535
+ $$ = mk_node("ExprQualifiedPath", 3, mk_node("ExprQualifiedPath", 3, $2, $3 , $6 ), $7 , $10 );
1535
1536
}
1536
- | SHL ty_sum AS trait_ref '>' MOD_SEP ident generic_args AS trait_ref '>' MOD_SEP ident
1537
+ | SHL ty_sum maybe_as_trait_ref '>' MOD_SEP ident generic_args maybe_as_trait_ref '>' MOD_SEP ident
1537
1538
{
1538
- $$ = mk_node("ExprQualifiedPath", 3, mk_node("ExprQualifiedPath", 4, $2, $4 , $7 , $8 ), $10 , $13 );
1539
+ $$ = mk_node("ExprQualifiedPath", 3, mk_node("ExprQualifiedPath", 4, $2, $3 , $6 , $7 ), $8 , $11 );
1539
1540
}
1540
- | SHL ty_sum AS trait_ref '>' MOD_SEP ident AS trait_ref '>' MOD_SEP ident generic_args
1541
+ | SHL ty_sum maybe_as_trait_ref '>' MOD_SEP ident maybe_as_trait_ref '>' MOD_SEP ident generic_args
1541
1542
{
1542
- $$ = mk_node("ExprQualifiedPath", 4, mk_node("ExprQualifiedPath", 3, $2, $4 , $7 ), $9 , $12 , $13 );
1543
+ $$ = mk_node("ExprQualifiedPath", 4, mk_node("ExprQualifiedPath", 3, $2, $3 , $6 ), $7 , $10 , $11 );
1543
1544
}
1544
- | SHL ty_sum AS trait_ref '>' MOD_SEP ident generic_args AS trait_ref '>' MOD_SEP ident generic_args
1545
+ | SHL ty_sum maybe_as_trait_ref '>' MOD_SEP ident generic_args maybe_as_trait_ref '>' MOD_SEP ident generic_args
1545
1546
{
1546
- $$ = mk_node("ExprQualifiedPath", 4, mk_node("ExprQualifiedPath", 4, $2, $4 , $7 , $8 ), $10 , $13 , $14 );
1547
+ $$ = mk_node("ExprQualifiedPath", 4, mk_node("ExprQualifiedPath", 4, $2, $3 , $6 , $7 ), $8 , $11 , $12 );
1547
1548
}
1548
1549
1550
+ maybe_as_trait_ref
1551
+ : AS trait_ref { $$ = $2; }
1552
+ | %empty { $$ = mk_none(); }
1553
+ ;
1549
1554
1550
1555
lambda_expr
1551
1556
: %prec LAMBDA
0 commit comments