diff options
-rw-r--r-- | src/parser/grammar/mod.rs | 10 | ||||
-rw-r--r-- | src/parser/grammar/paths.rs | 3 | ||||
-rw-r--r-- | tests/data/parser/err/0004_use_path_bad_segment.txt | 5 | ||||
-rw-r--r-- | tests/data/parser/ok/0009_use_item.txt | 8 | ||||
-rw-r--r-- | tests/data/parser/ok/0010_use_path_segments.txt | 20 | ||||
-rw-r--r-- | tests/data/parser/ok/0012_visibility.txt | 11 | ||||
-rw-r--r-- | tests/data/parser/ok/0013_use_path_self_super.txt | 12 | ||||
-rw-r--r-- | tests/data/parser/ok/0014_use_tree.txt | 26 | ||||
-rw-r--r-- | tests/data/parser/ok/0015_use_tree.txt | 22 | ||||
-rw-r--r-- | tests/data/parser/ok/0020_type_param_bounds.txt | 27 |
10 files changed, 93 insertions, 51 deletions
diff --git a/src/parser/grammar/mod.rs b/src/parser/grammar/mod.rs index 6e82d7c69..abf9fe86c 100644 --- a/src/parser/grammar/mod.rs +++ b/src/parser/grammar/mod.rs | |||
@@ -60,6 +60,16 @@ fn name(p: &mut Parser) { | |||
60 | } | 60 | } |
61 | } | 61 | } |
62 | 62 | ||
63 | fn name_ref(p: &mut Parser) { | ||
64 | if p.at(IDENT) { | ||
65 | let m = p.start(); | ||
66 | p.bump(); | ||
67 | m.complete(p, NAME_REF); | ||
68 | } else { | ||
69 | p.error("expected identifier"); | ||
70 | } | ||
71 | } | ||
72 | |||
63 | fn error_block(p: &mut Parser, message: &str) { | 73 | fn error_block(p: &mut Parser, message: &str) { |
64 | assert!(p.at(L_CURLY)); | 74 | assert!(p.at(L_CURLY)); |
65 | let err = p.start(); | 75 | let err = p.start(); |
diff --git a/src/parser/grammar/paths.rs b/src/parser/grammar/paths.rs index a7fc90774..6ed315c3d 100644 --- a/src/parser/grammar/paths.rs +++ b/src/parser/grammar/paths.rs | |||
@@ -42,7 +42,8 @@ fn path_segment(p: &mut Parser, first: bool) { | |||
42 | p.eat(COLONCOLON); | 42 | p.eat(COLONCOLON); |
43 | } | 43 | } |
44 | match p.current() { | 44 | match p.current() { |
45 | IDENT | SELF_KW | SUPER_KW => p.bump(), | 45 | IDENT => name_ref(p), |
46 | SELF_KW | SUPER_KW => p.bump(), | ||
46 | _ => { | 47 | _ => { |
47 | p.error("expected identifier"); | 48 | p.error("expected identifier"); |
48 | } | 49 | } |
diff --git a/tests/data/parser/err/0004_use_path_bad_segment.txt b/tests/data/parser/err/0004_use_path_bad_segment.txt index 7f43611eb..0a67002ac 100644 --- a/tests/data/parser/err/0004_use_path_bad_segment.txt +++ b/tests/data/parser/err/0004_use_path_bad_segment.txt | |||
@@ -5,8 +5,9 @@ FILE@[0; 12) | |||
5 | PATH@[3; 9) | 5 | PATH@[3; 9) |
6 | PATH@[3; 7) | 6 | PATH@[3; 7) |
7 | PATH_SEGMENT@[3; 7) | 7 | PATH_SEGMENT@[3; 7) |
8 | WHITESPACE@[3; 4) | 8 | NAME_REF@[3; 7) |
9 | IDENT@[4; 7) "foo" | 9 | WHITESPACE@[3; 4) |
10 | IDENT@[4; 7) "foo" | ||
10 | COLONCOLON@[7; 9) | 11 | COLONCOLON@[7; 9) |
11 | PATH_SEGMENT@[9; 9) | 12 | PATH_SEGMENT@[9; 9) |
12 | err: `expected identifier` | 13 | err: `expected identifier` |
diff --git a/tests/data/parser/ok/0009_use_item.txt b/tests/data/parser/ok/0009_use_item.txt index 08ae990d9..8daf4be0d 100644 --- a/tests/data/parser/ok/0009_use_item.txt +++ b/tests/data/parser/ok/0009_use_item.txt | |||
@@ -4,8 +4,9 @@ FILE@[0; 19) | |||
4 | USE_TREE@[3; 7) | 4 | USE_TREE@[3; 7) |
5 | PATH@[3; 7) | 5 | PATH@[3; 7) |
6 | PATH_SEGMENT@[3; 7) | 6 | PATH_SEGMENT@[3; 7) |
7 | WHITESPACE@[3; 4) | 7 | NAME_REF@[3; 7) |
8 | IDENT@[4; 7) "foo" | 8 | WHITESPACE@[3; 4) |
9 | IDENT@[4; 7) "foo" | ||
9 | SEMI@[7; 8) | 10 | SEMI@[7; 8) |
10 | WHITESPACE@[8; 9) | 11 | WHITESPACE@[8; 9) |
11 | USE_ITEM@[9; 19) | 12 | USE_ITEM@[9; 19) |
@@ -15,5 +16,6 @@ FILE@[0; 19) | |||
15 | PATH_SEGMENT@[12; 18) | 16 | PATH_SEGMENT@[12; 18) |
16 | WHITESPACE@[12; 13) | 17 | WHITESPACE@[12; 13) |
17 | COLONCOLON@[13; 15) | 18 | COLONCOLON@[13; 15) |
18 | IDENT@[15; 18) "bar" | 19 | NAME_REF@[15; 18) |
20 | IDENT@[15; 18) "bar" | ||
19 | SEMI@[18; 19) | 21 | SEMI@[18; 19) |
diff --git a/tests/data/parser/ok/0010_use_path_segments.txt b/tests/data/parser/ok/0010_use_path_segments.txt index 37e3dfdbf..96d10d741 100644 --- a/tests/data/parser/ok/0010_use_path_segments.txt +++ b/tests/data/parser/ok/0010_use_path_segments.txt | |||
@@ -8,13 +8,16 @@ FILE@[0; 40) | |||
8 | PATH_SEGMENT@[3; 9) | 8 | PATH_SEGMENT@[3; 9) |
9 | WHITESPACE@[3; 4) | 9 | WHITESPACE@[3; 4) |
10 | COLONCOLON@[4; 6) | 10 | COLONCOLON@[4; 6) |
11 | IDENT@[6; 9) "foo" | 11 | NAME_REF@[6; 9) |
12 | IDENT@[6; 9) "foo" | ||
12 | COLONCOLON@[9; 11) | 13 | COLONCOLON@[9; 11) |
13 | PATH_SEGMENT@[11; 14) | 14 | PATH_SEGMENT@[11; 14) |
14 | IDENT@[11; 14) "bar" | 15 | NAME_REF@[11; 14) |
16 | IDENT@[11; 14) "bar" | ||
15 | COLONCOLON@[14; 16) | 17 | COLONCOLON@[14; 16) |
16 | PATH_SEGMENT@[16; 19) | 18 | PATH_SEGMENT@[16; 19) |
17 | IDENT@[16; 19) "baz" | 19 | NAME_REF@[16; 19) |
20 | IDENT@[16; 19) "baz" | ||
18 | SEMI@[19; 20) | 21 | SEMI@[19; 20) |
19 | WHITESPACE@[20; 21) | 22 | WHITESPACE@[20; 21) |
20 | USE_ITEM@[21; 40) | 23 | USE_ITEM@[21; 40) |
@@ -24,13 +27,16 @@ FILE@[0; 40) | |||
24 | PATH@[24; 33) | 27 | PATH@[24; 33) |
25 | PATH@[24; 28) | 28 | PATH@[24; 28) |
26 | PATH_SEGMENT@[24; 28) | 29 | PATH_SEGMENT@[24; 28) |
27 | WHITESPACE@[24; 25) | 30 | NAME_REF@[24; 28) |
28 | IDENT@[25; 28) "foo" | 31 | WHITESPACE@[24; 25) |
32 | IDENT@[25; 28) "foo" | ||
29 | COLONCOLON@[28; 30) | 33 | COLONCOLON@[28; 30) |
30 | PATH_SEGMENT@[30; 33) | 34 | PATH_SEGMENT@[30; 33) |
31 | IDENT@[30; 33) "bar" | 35 | NAME_REF@[30; 33) |
36 | IDENT@[30; 33) "bar" | ||
32 | COLONCOLON@[33; 35) | 37 | COLONCOLON@[33; 35) |
33 | PATH_SEGMENT@[35; 38) | 38 | PATH_SEGMENT@[35; 38) |
34 | IDENT@[35; 38) "baz" | 39 | NAME_REF@[35; 38) |
40 | IDENT@[35; 38) "baz" | ||
35 | SEMI@[38; 39) | 41 | SEMI@[38; 39) |
36 | WHITESPACE@[39; 40) | 42 | WHITESPACE@[39; 40) |
diff --git a/tests/data/parser/ok/0012_visibility.txt b/tests/data/parser/ok/0012_visibility.txt index 8f7ba697d..c138b73f3 100644 --- a/tests/data/parser/ok/0012_visibility.txt +++ b/tests/data/parser/ok/0012_visibility.txt | |||
@@ -67,14 +67,17 @@ FILE@[0; 98) | |||
67 | PATH@[72; 81) | 67 | PATH@[72; 81) |
68 | PATH@[72; 76) | 68 | PATH@[72; 76) |
69 | PATH_SEGMENT@[72; 76) | 69 | PATH_SEGMENT@[72; 76) |
70 | WHITESPACE@[72; 73) | 70 | NAME_REF@[72; 76) |
71 | IDENT@[73; 76) "foo" | 71 | WHITESPACE@[72; 73) |
72 | IDENT@[73; 76) "foo" | ||
72 | COLONCOLON@[76; 78) | 73 | COLONCOLON@[76; 78) |
73 | PATH_SEGMENT@[78; 81) | 74 | PATH_SEGMENT@[78; 81) |
74 | IDENT@[78; 81) "bar" | 75 | NAME_REF@[78; 81) |
76 | IDENT@[78; 81) "bar" | ||
75 | COLONCOLON@[81; 83) | 77 | COLONCOLON@[81; 83) |
76 | PATH_SEGMENT@[83; 86) | 78 | PATH_SEGMENT@[83; 86) |
77 | IDENT@[83; 86) "baz" | 79 | NAME_REF@[83; 86) |
80 | IDENT@[83; 86) "baz" | ||
78 | R_PAREN@[86; 87) | 81 | R_PAREN@[86; 87) |
79 | WHITESPACE@[87; 88) | 82 | WHITESPACE@[87; 88) |
80 | FN_KW@[88; 90) | 83 | FN_KW@[88; 90) |
diff --git a/tests/data/parser/ok/0013_use_path_self_super.txt b/tests/data/parser/ok/0013_use_path_self_super.txt index f3dfaba4b..3542b2164 100644 --- a/tests/data/parser/ok/0013_use_path_self_super.txt +++ b/tests/data/parser/ok/0013_use_path_self_super.txt | |||
@@ -9,7 +9,8 @@ FILE@[0; 65) | |||
9 | SELF_KW@[4; 8) | 9 | SELF_KW@[4; 8) |
10 | COLONCOLON@[8; 10) | 10 | COLONCOLON@[8; 10) |
11 | PATH_SEGMENT@[10; 13) | 11 | PATH_SEGMENT@[10; 13) |
12 | IDENT@[10; 13) "foo" | 12 | NAME_REF@[10; 13) |
13 | IDENT@[10; 13) "foo" | ||
13 | SEMI@[13; 14) | 14 | SEMI@[13; 14) |
14 | WHITESPACE@[14; 15) | 15 | WHITESPACE@[14; 15) |
15 | USE_ITEM@[15; 38) | 16 | USE_ITEM@[15; 38) |
@@ -26,7 +27,8 @@ FILE@[0; 65) | |||
26 | SUPER_KW@[26; 31) | 27 | SUPER_KW@[26; 31) |
27 | COLONCOLON@[31; 33) | 28 | COLONCOLON@[31; 33) |
28 | PATH_SEGMENT@[33; 36) | 29 | PATH_SEGMENT@[33; 36) |
29 | IDENT@[33; 36) "bar" | 30 | NAME_REF@[33; 36) |
31 | IDENT@[33; 36) "bar" | ||
30 | SEMI@[36; 37) | 32 | SEMI@[36; 37) |
31 | WHITESPACE@[37; 38) | 33 | WHITESPACE@[37; 38) |
32 | USE_ITEM@[38; 65) | 34 | USE_ITEM@[38; 65) |
@@ -42,12 +44,14 @@ FILE@[0; 65) | |||
42 | SELF_KW@[44; 48) | 44 | SELF_KW@[44; 48) |
43 | COLONCOLON@[48; 50) | 45 | COLONCOLON@[48; 50) |
44 | PATH_SEGMENT@[50; 51) | 46 | PATH_SEGMENT@[50; 51) |
45 | IDENT@[50; 51) "a" | 47 | NAME_REF@[50; 51) |
48 | IDENT@[50; 51) "a" | ||
46 | COLONCOLON@[51; 53) | 49 | COLONCOLON@[51; 53) |
47 | PATH_SEGMENT@[53; 58) | 50 | PATH_SEGMENT@[53; 58) |
48 | SUPER_KW@[53; 58) | 51 | SUPER_KW@[53; 58) |
49 | COLONCOLON@[58; 60) | 52 | COLONCOLON@[58; 60) |
50 | PATH_SEGMENT@[60; 63) | 53 | PATH_SEGMENT@[60; 63) |
51 | IDENT@[60; 63) "bar" | 54 | NAME_REF@[60; 63) |
55 | IDENT@[60; 63) "bar" | ||
52 | SEMI@[63; 64) | 56 | SEMI@[63; 64) |
53 | WHITESPACE@[64; 65) | 57 | WHITESPACE@[64; 65) |
diff --git a/tests/data/parser/ok/0014_use_tree.txt b/tests/data/parser/ok/0014_use_tree.txt index cddaa5462..a7326214d 100644 --- a/tests/data/parser/ok/0014_use_tree.txt +++ b/tests/data/parser/ok/0014_use_tree.txt | |||
@@ -36,8 +36,9 @@ FILE@[0; 81) | |||
36 | USE_TREE@[37; 44) | 36 | USE_TREE@[37; 44) |
37 | PATH@[37; 41) | 37 | PATH@[37; 41) |
38 | PATH_SEGMENT@[37; 41) | 38 | PATH_SEGMENT@[37; 41) |
39 | WHITESPACE@[37; 38) | 39 | NAME_REF@[37; 41) |
40 | IDENT@[38; 41) "foo" | 40 | WHITESPACE@[37; 38) |
41 | IDENT@[38; 41) "foo" | ||
41 | COLONCOLON@[41; 43) | 42 | COLONCOLON@[41; 43) |
42 | STAR@[43; 44) | 43 | STAR@[43; 44) |
43 | SEMI@[44; 45) | 44 | SEMI@[44; 45) |
@@ -47,8 +48,9 @@ FILE@[0; 81) | |||
47 | USE_TREE@[49; 57) | 48 | USE_TREE@[49; 57) |
48 | PATH@[49; 53) | 49 | PATH@[49; 53) |
49 | PATH_SEGMENT@[49; 53) | 50 | PATH_SEGMENT@[49; 53) |
50 | WHITESPACE@[49; 50) | 51 | NAME_REF@[49; 53) |
51 | IDENT@[50; 53) "foo" | 52 | WHITESPACE@[49; 50) |
53 | IDENT@[50; 53) "foo" | ||
52 | COLONCOLON@[53; 55) | 54 | COLONCOLON@[53; 55) |
53 | L_CURLY@[55; 56) | 55 | L_CURLY@[55; 56) |
54 | R_CURLY@[56; 57) | 56 | R_CURLY@[56; 57) |
@@ -61,25 +63,29 @@ FILE@[0; 81) | |||
61 | PATH_SEGMENT@[62; 68) | 63 | PATH_SEGMENT@[62; 68) |
62 | WHITESPACE@[62; 63) | 64 | WHITESPACE@[62; 63) |
63 | COLONCOLON@[63; 65) | 65 | COLONCOLON@[63; 65) |
64 | IDENT@[65; 68) "foo" | 66 | NAME_REF@[65; 68) |
67 | IDENT@[65; 68) "foo" | ||
65 | COLONCOLON@[68; 70) | 68 | COLONCOLON@[68; 70) |
66 | L_CURLY@[70; 71) | 69 | L_CURLY@[70; 71) |
67 | USE_TREE@[71; 72) | 70 | USE_TREE@[71; 72) |
68 | PATH@[71; 72) | 71 | PATH@[71; 72) |
69 | PATH_SEGMENT@[71; 72) | 72 | PATH_SEGMENT@[71; 72) |
70 | IDENT@[71; 72) "a" | 73 | NAME_REF@[71; 72) |
74 | IDENT@[71; 72) "a" | ||
71 | COMMA@[72; 73) | 75 | COMMA@[72; 73) |
72 | USE_TREE@[73; 75) | 76 | USE_TREE@[73; 75) |
73 | PATH@[73; 75) | 77 | PATH@[73; 75) |
74 | PATH_SEGMENT@[73; 75) | 78 | PATH_SEGMENT@[73; 75) |
75 | WHITESPACE@[73; 74) | 79 | NAME_REF@[73; 75) |
76 | IDENT@[74; 75) "b" | 80 | WHITESPACE@[73; 74) |
81 | IDENT@[74; 75) "b" | ||
77 | COMMA@[75; 76) | 82 | COMMA@[75; 76) |
78 | USE_TREE@[76; 78) | 83 | USE_TREE@[76; 78) |
79 | PATH@[76; 78) | 84 | PATH@[76; 78) |
80 | PATH_SEGMENT@[76; 78) | 85 | PATH_SEGMENT@[76; 78) |
81 | WHITESPACE@[76; 77) | 86 | NAME_REF@[76; 78) |
82 | IDENT@[77; 78) "c" | 87 | WHITESPACE@[76; 77) |
88 | IDENT@[77; 78) "c" | ||
83 | R_CURLY@[78; 79) | 89 | R_CURLY@[78; 79) |
84 | SEMI@[79; 80) | 90 | SEMI@[79; 80) |
85 | WHITESPACE@[80; 81) | 91 | WHITESPACE@[80; 81) |
diff --git a/tests/data/parser/ok/0015_use_tree.txt b/tests/data/parser/ok/0015_use_tree.txt index 28f5f789e..2ba15bbee 100644 --- a/tests/data/parser/ok/0015_use_tree.txt +++ b/tests/data/parser/ok/0015_use_tree.txt | |||
@@ -4,9 +4,10 @@ FILE@[0; 55) | |||
4 | USE_TREE@[3; 14) | 4 | USE_TREE@[3; 14) |
5 | PATH@[3; 8) | 5 | PATH@[3; 8) |
6 | PATH_SEGMENT@[3; 8) | 6 | PATH_SEGMENT@[3; 8) |
7 | WHITESPACE@[3; 4) | 7 | NAME_REF@[3; 8) |
8 | IDENT@[4; 7) "foo" | 8 | WHITESPACE@[3; 4) |
9 | WHITESPACE@[7; 8) | 9 | IDENT@[4; 7) "foo" |
10 | WHITESPACE@[7; 8) | ||
10 | ALIAS@[8; 14) | 11 | ALIAS@[8; 14) |
11 | AS_KW@[8; 10) | 12 | AS_KW@[8; 10) |
12 | NAME@[10; 14) | 13 | NAME@[10; 14) |
@@ -19,15 +20,17 @@ FILE@[0; 55) | |||
19 | USE_TREE@[19; 53) | 20 | USE_TREE@[19; 53) |
20 | PATH@[19; 23) | 21 | PATH@[19; 23) |
21 | PATH_SEGMENT@[19; 23) | 22 | PATH_SEGMENT@[19; 23) |
22 | WHITESPACE@[19; 20) | 23 | NAME_REF@[19; 23) |
23 | IDENT@[20; 23) "foo" | 24 | WHITESPACE@[19; 20) |
25 | IDENT@[20; 23) "foo" | ||
24 | COLONCOLON@[23; 25) | 26 | COLONCOLON@[23; 25) |
25 | L_CURLY@[25; 26) | 27 | L_CURLY@[25; 26) |
26 | USE_TREE@[26; 32) | 28 | USE_TREE@[26; 32) |
27 | PATH@[26; 28) | 29 | PATH@[26; 28) |
28 | PATH_SEGMENT@[26; 28) | 30 | PATH_SEGMENT@[26; 28) |
29 | IDENT@[26; 27) "a" | 31 | NAME_REF@[26; 28) |
30 | WHITESPACE@[27; 28) | 32 | IDENT@[26; 27) "a" |
33 | WHITESPACE@[27; 28) | ||
31 | ALIAS@[28; 32) | 34 | ALIAS@[28; 32) |
32 | AS_KW@[28; 30) | 35 | AS_KW@[28; 30) |
33 | NAME@[30; 32) | 36 | NAME@[30; 32) |
@@ -48,8 +51,9 @@ FILE@[0; 55) | |||
48 | PATH_SEGMENT@[41; 48) | 51 | PATH_SEGMENT@[41; 48) |
49 | WHITESPACE@[41; 42) | 52 | WHITESPACE@[41; 42) |
50 | COLONCOLON@[42; 44) | 53 | COLONCOLON@[42; 44) |
51 | IDENT@[44; 47) "foo" | 54 | NAME_REF@[44; 48) |
52 | WHITESPACE@[47; 48) | 55 | IDENT@[44; 47) "foo" |
56 | WHITESPACE@[47; 48) | ||
53 | ALIAS@[48; 52) | 57 | ALIAS@[48; 52) |
54 | AS_KW@[48; 50) | 58 | AS_KW@[48; 50) |
55 | NAME@[50; 52) | 59 | NAME@[50; 52) |
diff --git a/tests/data/parser/ok/0020_type_param_bounds.txt b/tests/data/parser/ok/0020_type_param_bounds.txt index a1c0cbc37..7132eec6e 100644 --- a/tests/data/parser/ok/0020_type_param_bounds.txt +++ b/tests/data/parser/ok/0020_type_param_bounds.txt | |||
@@ -97,8 +97,9 @@ FILE@[0; 200) | |||
97 | PLUS@[107; 108) | 97 | PLUS@[107; 108) |
98 | PATH@[108; 114) | 98 | PATH@[108; 114) |
99 | PATH_SEGMENT@[108; 114) | 99 | PATH_SEGMENT@[108; 114) |
100 | WHITESPACE@[108; 109) | 100 | NAME_REF@[108; 114) |
101 | IDENT@[109; 114) "Clone" | 101 | WHITESPACE@[108; 109) |
102 | IDENT@[109; 114) "Clone" | ||
102 | R_ANGLE@[114; 115) | 103 | R_ANGLE@[114; 115) |
103 | SEMI@[115; 116) | 104 | SEMI@[115; 116) |
104 | WHITESPACE@[116; 117) | 105 | WHITESPACE@[116; 117) |
@@ -114,14 +115,16 @@ FILE@[0; 200) | |||
114 | COLON@[127; 128) | 115 | COLON@[127; 128) |
115 | PATH@[128; 135) | 116 | PATH@[128; 135) |
116 | PATH_SEGMENT@[128; 135) | 117 | PATH_SEGMENT@[128; 135) |
117 | WHITESPACE@[128; 129) | 118 | NAME_REF@[128; 135) |
118 | IDENT@[129; 134) "Clone" | 119 | WHITESPACE@[128; 129) |
119 | WHITESPACE@[134; 135) | 120 | IDENT@[129; 134) "Clone" |
121 | WHITESPACE@[134; 135) | ||
120 | PLUS@[135; 136) | 122 | PLUS@[135; 136) |
121 | PATH@[136; 141) | 123 | PATH@[136; 141) |
122 | PATH_SEGMENT@[136; 141) | 124 | PATH_SEGMENT@[136; 141) |
123 | WHITESPACE@[136; 137) | 125 | NAME_REF@[136; 141) |
124 | IDENT@[137; 141) "Copy" | 126 | WHITESPACE@[136; 137) |
127 | IDENT@[137; 141) "Copy" | ||
125 | R_ANGLE@[141; 142) | 128 | R_ANGLE@[141; 142) |
126 | SEMI@[142; 143) | 129 | SEMI@[142; 143) |
127 | WHITESPACE@[143; 144) | 130 | WHITESPACE@[143; 144) |
@@ -139,8 +142,9 @@ FILE@[0; 200) | |||
139 | PATH_SEGMENT@[155; 162) | 142 | PATH_SEGMENT@[155; 162) |
140 | WHITESPACE@[155; 156) | 143 | WHITESPACE@[155; 156) |
141 | COLONCOLON@[156; 158) | 144 | COLONCOLON@[156; 158) |
142 | IDENT@[158; 161) "Foo" | 145 | NAME_REF@[158; 162) |
143 | WHITESPACE@[161; 162) | 146 | IDENT@[158; 161) "Foo" |
147 | WHITESPACE@[161; 162) | ||
144 | PLUS@[162; 163) | 148 | PLUS@[162; 163) |
145 | PATH@[163; 174) | 149 | PATH@[163; 174) |
146 | PATH@[163; 168) | 150 | PATH@[163; 168) |
@@ -149,8 +153,9 @@ FILE@[0; 200) | |||
149 | SELF_KW@[164; 168) | 153 | SELF_KW@[164; 168) |
150 | COLONCOLON@[168; 170) | 154 | COLONCOLON@[168; 170) |
151 | PATH_SEGMENT@[170; 174) | 155 | PATH_SEGMENT@[170; 174) |
152 | IDENT@[170; 173) "Bar" | 156 | NAME_REF@[170; 174) |
153 | WHITESPACE@[173; 174) | 157 | IDENT@[170; 173) "Bar" |
158 | WHITESPACE@[173; 174) | ||
154 | PLUS@[174; 175) | 159 | PLUS@[174; 175) |
155 | WHITESPACE@[175; 176) | 160 | WHITESPACE@[175; 176) |
156 | LIFETIME@[176; 178) "'a" | 161 | LIFETIME@[176; 178) "'a" |