Skip to content

Commit f99bdf4

Browse files
committed
fix: don't allow two turbo-fishes in generic arguments
1 parent 8ae1f9c commit f99bdf4

File tree

2 files changed

+38
-33
lines changed

2 files changed

+38
-33
lines changed

crates/parser/src/grammar/generic_args.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ fn generic_arg(p: &mut Parser) {
5252
// NameRef::, this is a path type
5353
path_seg.complete(p, PATH_SEGMENT);
5454
let qual = path.complete(p, PATH);
55-
opt_generic_arg_list(p, false);
5655
paths::type_path_for_qualifier(p, qual);
5756
path_ty.complete(p, PATH_TYPE);
5857
m.complete(p, TYPE_ARG);

crates/syntax/test_data/parser/err/0049_double_fish.rast

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,43 +11,44 @@ [email protected]
1111
1212
1313
14-
EXPR_STMT@13..38
15-
PATH_EXPR@13..37
16-
PATH@13..37
17-
PATH_SEGMENT@13..37
14+
EXPR_STMT@13..31
15+
PATH_EXPR@13..31
16+
PATH@13..31
17+
PATH_SEGMENT@13..31
1818
1919
20-
GENERIC_ARG_LIST@14..37
20+
GENERIC_ARG_LIST@14..31
2121
2222
23-
TYPE_ARG@17..36
24-
PATH_TYPE@17..36
25-
PATH@17..28
26-
PATH_SEGMENT@17..28
27-
NAME_REF@17..21
28-
IDENT@17..21 "Item"
29-
30-
COLON2@21..23 "::"
31-
32-
33-
PATH_TYPE@24..27
34-
PATH@24..27
35-
PATH_SEGMENT@24..27
36-
NAME_REF@24..27
37-
IDENT@24..27 "lol"
38-
39-
23+
TYPE_ARG@17..31
24+
PATH_TYPE@17..31
25+
PATH@17..31
26+
PATH@17..28
27+
PATH_SEGMENT@17..28
28+
NAME_REF@17..21
29+
30+
GENERIC_ARG_LIST@21..28
31+
32+
33+
TYPE_ARG@24..27
34+
PATH_TYPE@24..27
35+
PATH@24..27
36+
PATH_SEGMENT@24..27
37+
NAME_REF@24..27
38+
39+
4040
41-
42-
43-
44-
45-
46-
47-
48-
49-
50-
41+
42+
43+
44+
45+
46+
47+
48+
49+
50+
51+
5152
5253
5354
@@ -109,6 +110,11 @@ [email protected]
109110
110111
111112
113+
error 30..30: expected identifier
114+
error 31..31: expected COMMA
115+
error 31..31: expected R_ANGLE
116+
error 31..31: expected SEMICOLON
117+
error 37..37: expected expression
112118
error 75..75: expected identifier
113119
error 76..76: expected SEMICOLON
114120
error 82..82: expected expression

0 commit comments

Comments
 (0)