diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2018-02-10 11:23:41 +0000 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2018-02-10 11:23:41 +0000 |
commit | b814d931514cdc250f9156dabd874edf685569d0 (patch) | |
tree | 6de85e5e662bc0c6eca78715496a02867da1eff9 | |
parent | c3b009b6d24225ad2add62fce8206918fceba3eb (diff) | |
parent | 199b3a1604095beee9eaeec541c8f158e85493ea (diff) |
Merge #46
46: Names r=matklad a=matklad
bors r+
51 files changed, 465 insertions, 294 deletions
diff --git a/grammar.ron b/grammar.ron index c38bf654d..0130b7b37 100644 --- a/grammar.ron +++ b/grammar.ron | |||
@@ -118,5 +118,7 @@ Grammar( | |||
118 | "LIFETIME_PARAM", | 118 | "LIFETIME_PARAM", |
119 | "TYPE_PARAM", | 119 | "TYPE_PARAM", |
120 | "ABI", | 120 | "ABI", |
121 | "NAME", | ||
122 | "NAME_REF", | ||
121 | ] | 123 | ] |
122 | ) | 124 | ) |
diff --git a/src/parser/grammar/items/consts.rs b/src/parser/grammar/items/consts.rs index c9881d681..8117af706 100644 --- a/src/parser/grammar/items/consts.rs +++ b/src/parser/grammar/items/consts.rs | |||
@@ -12,7 +12,7 @@ fn const_or_static(p: &mut Parser, kw: SyntaxKind) { | |||
12 | assert!(p.at(kw)); | 12 | assert!(p.at(kw)); |
13 | p.bump(); | 13 | p.bump(); |
14 | p.eat(MUT_KW); // TODO: validator to forbid const mut | 14 | p.eat(MUT_KW); // TODO: validator to forbid const mut |
15 | p.expect(IDENT); | 15 | name(p); |
16 | p.expect(COLON); | 16 | p.expect(COLON); |
17 | types::type_ref(p); | 17 | types::type_ref(p); |
18 | p.expect(EQ); | 18 | p.expect(EQ); |
diff --git a/src/parser/grammar/items/mod.rs b/src/parser/grammar/items/mod.rs index ffe86fa97..8bb821fb6 100644 --- a/src/parser/grammar/items/mod.rs +++ b/src/parser/grammar/items/mod.rs | |||
@@ -196,8 +196,9 @@ fn extern_crate_item(p: &mut Parser) { | |||
196 | p.bump(); | 196 | p.bump(); |
197 | assert!(p.at(CRATE_KW)); | 197 | assert!(p.at(CRATE_KW)); |
198 | p.bump(); | 198 | p.bump(); |
199 | 199 | name(p); | |
200 | p.expect(IDENT) && alias(p) && p.expect(SEMI); | 200 | alias(p); |
201 | p.expect(SEMI); | ||
201 | } | 202 | } |
202 | 203 | ||
203 | fn extern_block(p: &mut Parser) { | 204 | fn extern_block(p: &mut Parser) { |
@@ -210,7 +211,7 @@ fn fn_item(p: &mut Parser) { | |||
210 | assert!(p.at(FN_KW)); | 211 | assert!(p.at(FN_KW)); |
211 | p.bump(); | 212 | p.bump(); |
212 | 213 | ||
213 | p.expect(IDENT); | 214 | name(p); |
214 | if p.at(L_PAREN) { | 215 | if p.at(L_PAREN) { |
215 | fn_value_parameters(p); | 216 | fn_value_parameters(p); |
216 | } else { | 217 | } else { |
@@ -235,7 +236,7 @@ fn type_item(p: &mut Parser) { | |||
235 | assert!(p.at(TYPE_KW)); | 236 | assert!(p.at(TYPE_KW)); |
236 | p.bump(); | 237 | p.bump(); |
237 | 238 | ||
238 | p.expect(IDENT); | 239 | name(p); |
239 | 240 | ||
240 | // test type_item_type_params | 241 | // test type_item_type_params |
241 | // type Result<T> = (); | 242 | // type Result<T> = (); |
@@ -254,7 +255,8 @@ fn mod_item(p: &mut Parser) { | |||
254 | assert!(p.at(MOD_KW)); | 255 | assert!(p.at(MOD_KW)); |
255 | p.bump(); | 256 | p.bump(); |
256 | 257 | ||
257 | if p.expect(IDENT) && !p.eat(SEMI) { | 258 | name(p); |
259 | if !p.eat(SEMI) { | ||
258 | if p.expect(L_CURLY) { | 260 | if p.expect(L_CURLY) { |
259 | mod_contents(p, true); | 261 | mod_contents(p, true); |
260 | p.expect(R_CURLY); | 262 | p.expect(R_CURLY); |
diff --git a/src/parser/grammar/items/structs.rs b/src/parser/grammar/items/structs.rs index 640b940e4..eca0d2e64 100644 --- a/src/parser/grammar/items/structs.rs +++ b/src/parser/grammar/items/structs.rs | |||
@@ -4,9 +4,7 @@ pub(super) fn struct_item(p: &mut Parser) { | |||
4 | assert!(p.at(STRUCT_KW)); | 4 | assert!(p.at(STRUCT_KW)); |
5 | p.bump(); | 5 | p.bump(); |
6 | 6 | ||
7 | if !p.expect(IDENT) { | 7 | name(p); |
8 | return; | ||
9 | } | ||
10 | type_params::list(p); | 8 | type_params::list(p); |
11 | match p.current() { | 9 | match p.current() { |
12 | WHERE_KW => { | 10 | WHERE_KW => { |
@@ -43,7 +41,7 @@ pub(super) fn struct_item(p: &mut Parser) { | |||
43 | pub(super) fn enum_item(p: &mut Parser) { | 41 | pub(super) fn enum_item(p: &mut Parser) { |
44 | assert!(p.at(ENUM_KW)); | 42 | assert!(p.at(ENUM_KW)); |
45 | p.bump(); | 43 | p.bump(); |
46 | p.expect(IDENT); | 44 | name(p); |
47 | type_params::list(p); | 45 | type_params::list(p); |
48 | type_params::where_clause(p); | 46 | type_params::where_clause(p); |
49 | if p.expect(L_CURLY) { | 47 | if p.expect(L_CURLY) { |
@@ -88,7 +86,8 @@ fn named_fields(p: &mut Parser) { | |||
88 | fn named_field(p: &mut Parser) { | 86 | fn named_field(p: &mut Parser) { |
89 | let field = p.start(); | 87 | let field = p.start(); |
90 | visibility(p); | 88 | visibility(p); |
91 | if p.expect(IDENT) { | 89 | if p.at(IDENT) { |
90 | name(p); | ||
92 | p.expect(COLON); | 91 | p.expect(COLON); |
93 | types::type_ref(p); | 92 | types::type_ref(p); |
94 | field.complete(p, NAMED_FIELD); | 93 | field.complete(p, NAMED_FIELD); |
diff --git a/src/parser/grammar/items/traits.rs b/src/parser/grammar/items/traits.rs index 3bef9639f..9961a88fe 100644 --- a/src/parser/grammar/items/traits.rs +++ b/src/parser/grammar/items/traits.rs | |||
@@ -3,7 +3,7 @@ use super::*; | |||
3 | pub(super) fn trait_item(p: &mut Parser) { | 3 | pub(super) fn trait_item(p: &mut Parser) { |
4 | assert!(p.at(TRAIT_KW)); | 4 | assert!(p.at(TRAIT_KW)); |
5 | p.bump(); | 5 | p.bump(); |
6 | p.expect(IDENT); | 6 | name(p); |
7 | p.expect(L_CURLY); | 7 | p.expect(L_CURLY); |
8 | p.expect(R_CURLY); | 8 | p.expect(R_CURLY); |
9 | } | 9 | } |
diff --git a/src/parser/grammar/mod.rs b/src/parser/grammar/mod.rs index b949583ff..abf9fe86c 100644 --- a/src/parser/grammar/mod.rs +++ b/src/parser/grammar/mod.rs | |||
@@ -44,12 +44,32 @@ fn alias(p: &mut Parser) -> bool { | |||
44 | if p.at(AS_KW) { | 44 | if p.at(AS_KW) { |
45 | let alias = p.start(); | 45 | let alias = p.start(); |
46 | p.bump(); | 46 | p.bump(); |
47 | p.expect(IDENT); | 47 | name(p); |
48 | alias.complete(p, ALIAS); | 48 | alias.complete(p, ALIAS); |
49 | } | 49 | } |
50 | true //FIXME: return false if three are errors | 50 | true //FIXME: return false if three are errors |
51 | } | 51 | } |
52 | 52 | ||
53 | fn name(p: &mut Parser) { | ||
54 | if p.at(IDENT) { | ||
55 | let m = p.start(); | ||
56 | p.bump(); | ||
57 | m.complete(p, NAME); | ||
58 | } else { | ||
59 | p.error("expected a name"); | ||
60 | } | ||
61 | } | ||
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 | |||
53 | fn error_block(p: &mut Parser, message: &str) { | 73 | fn error_block(p: &mut Parser, message: &str) { |
54 | assert!(p.at(L_CURLY)); | 74 | assert!(p.at(L_CURLY)); |
55 | 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/src/syntax_kinds.rs b/src/syntax_kinds.rs index dc287f0f4..7450f9d6f 100644 --- a/src/syntax_kinds.rs +++ b/src/syntax_kinds.rs | |||
@@ -116,6 +116,8 @@ pub enum SyntaxKind { | |||
116 | LIFETIME_PARAM, | 116 | LIFETIME_PARAM, |
117 | TYPE_PARAM, | 117 | TYPE_PARAM, |
118 | ABI, | 118 | ABI, |
119 | NAME, | ||
120 | NAME_REF, | ||
119 | 121 | ||
120 | // Technical SyntaxKinds: they appear temporally during parsing, | 122 | // Technical SyntaxKinds: they appear temporally during parsing, |
121 | // but never end up in the final tree | 123 | // but never end up in the final tree |
@@ -239,6 +241,8 @@ impl SyntaxKind { | |||
239 | LIFETIME_PARAM => &SyntaxInfo { name: "LIFETIME_PARAM" }, | 241 | LIFETIME_PARAM => &SyntaxInfo { name: "LIFETIME_PARAM" }, |
240 | TYPE_PARAM => &SyntaxInfo { name: "TYPE_PARAM" }, | 242 | TYPE_PARAM => &SyntaxInfo { name: "TYPE_PARAM" }, |
241 | ABI => &SyntaxInfo { name: "ABI" }, | 243 | ABI => &SyntaxInfo { name: "ABI" }, |
244 | NAME => &SyntaxInfo { name: "NAME" }, | ||
245 | NAME_REF => &SyntaxInfo { name: "NAME_REF" }, | ||
242 | 246 | ||
243 | TOMBSTONE => &SyntaxInfo { name: "TOMBSTONE" }, | 247 | TOMBSTONE => &SyntaxInfo { name: "TOMBSTONE" }, |
244 | EOF => &SyntaxInfo { name: "EOF" }, | 248 | EOF => &SyntaxInfo { name: "EOF" }, |
diff --git a/tests/data/parser/err/0000_struct_field_missing_comma.txt b/tests/data/parser/err/0000_struct_field_missing_comma.txt index d94b4fd9e..f1c772b8d 100644 --- a/tests/data/parser/err/0000_struct_field_missing_comma.txt +++ b/tests/data/parser/err/0000_struct_field_missing_comma.txt | |||
@@ -1,20 +1,23 @@ | |||
1 | FILE@[0; 34) | 1 | FILE@[0; 34) |
2 | STRUCT_ITEM@[0; 34) | 2 | STRUCT_ITEM@[0; 34) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 9) |
5 | IDENT@[7; 8) "S" | 5 | WHITESPACE@[6; 7) |
6 | WHITESPACE@[8; 9) | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | ||
7 | L_CURLY@[9; 10) | 8 | L_CURLY@[9; 10) |
8 | NAMED_FIELD@[10; 26) | 9 | NAMED_FIELD@[10; 26) |
9 | WHITESPACE@[10; 15) | 10 | NAME@[10; 16) |
10 | IDENT@[15; 16) "a" | 11 | WHITESPACE@[10; 15) |
12 | IDENT@[15; 16) "a" | ||
11 | COLON@[16; 17) | 13 | COLON@[16; 17) |
12 | WHITESPACE@[17; 18) | 14 | WHITESPACE@[17; 18) |
13 | IDENT@[18; 21) "u32" | 15 | IDENT@[18; 21) "u32" |
14 | WHITESPACE@[21; 26) | 16 | WHITESPACE@[21; 26) |
15 | err: `expected COMMA` | 17 | err: `expected COMMA` |
16 | NAMED_FIELD@[26; 33) | 18 | NAMED_FIELD@[26; 33) |
17 | IDENT@[26; 27) "b" | 19 | NAME@[26; 27) |
20 | IDENT@[26; 27) "b" | ||
18 | COLON@[27; 28) | 21 | COLON@[27; 28) |
19 | WHITESPACE@[28; 29) | 22 | WHITESPACE@[28; 29) |
20 | IDENT@[29; 32) "u32" | 23 | IDENT@[29; 32) "u32" |
diff --git a/tests/data/parser/err/0001_item_recovery_in_file.txt b/tests/data/parser/err/0001_item_recovery_in_file.txt index c33113c6d..e41ddc009 100644 --- a/tests/data/parser/err/0001_item_recovery_in_file.txt +++ b/tests/data/parser/err/0001_item_recovery_in_file.txt | |||
@@ -9,8 +9,9 @@ FILE@[0; 21) | |||
9 | WHITESPACE@[8; 10) | 9 | WHITESPACE@[8; 10) |
10 | STRUCT_ITEM@[10; 21) | 10 | STRUCT_ITEM@[10; 21) |
11 | STRUCT_KW@[10; 16) | 11 | STRUCT_KW@[10; 16) |
12 | WHITESPACE@[16; 17) | 12 | NAME@[16; 19) |
13 | IDENT@[17; 18) "S" | 13 | WHITESPACE@[16; 17) |
14 | WHITESPACE@[18; 19) | 14 | IDENT@[17; 18) "S" |
15 | WHITESPACE@[18; 19) | ||
15 | L_CURLY@[19; 20) | 16 | L_CURLY@[19; 20) |
16 | R_CURLY@[20; 21) | 17 | R_CURLY@[20; 21) |
diff --git a/tests/data/parser/err/0003_C++_semicolon.txt b/tests/data/parser/err/0003_C++_semicolon.txt index d77c06378..c835a1474 100644 --- a/tests/data/parser/err/0003_C++_semicolon.txt +++ b/tests/data/parser/err/0003_C++_semicolon.txt | |||
@@ -1,20 +1,23 @@ | |||
1 | FILE@[0; 40) | 1 | FILE@[0; 40) |
2 | STRUCT_ITEM@[0; 39) | 2 | STRUCT_ITEM@[0; 39) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 9) |
5 | IDENT@[7; 8) "S" | 5 | WHITESPACE@[6; 7) |
6 | WHITESPACE@[8; 9) | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | ||
7 | L_CURLY@[9; 10) | 8 | L_CURLY@[9; 10) |
8 | NAMED_FIELD@[10; 21) | 9 | NAMED_FIELD@[10; 21) |
9 | WHITESPACE@[10; 15) | 10 | NAME@[10; 16) |
10 | IDENT@[15; 16) "a" | 11 | WHITESPACE@[10; 15) |
12 | IDENT@[15; 16) "a" | ||
11 | COLON@[16; 17) | 13 | COLON@[16; 17) |
12 | WHITESPACE@[17; 18) | 14 | WHITESPACE@[17; 18) |
13 | IDENT@[18; 21) "i32" | 15 | IDENT@[18; 21) "i32" |
14 | COMMA@[21; 22) | 16 | COMMA@[21; 22) |
15 | NAMED_FIELD@[22; 36) | 17 | NAMED_FIELD@[22; 36) |
16 | WHITESPACE@[22; 27) | 18 | NAME@[22; 28) |
17 | IDENT@[27; 28) "b" | 19 | WHITESPACE@[22; 27) |
20 | IDENT@[27; 28) "b" | ||
18 | COLON@[28; 29) | 21 | COLON@[28; 29) |
19 | WHITESPACE@[29; 30) | 22 | WHITESPACE@[29; 30) |
20 | IDENT@[30; 36) "String" | 23 | IDENT@[30; 36) "String" |
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/err/0005_attribute_recover.txt b/tests/data/parser/err/0005_attribute_recover.txt index 00a534af1..15e77f63b 100644 --- a/tests/data/parser/err/0005_attribute_recover.txt +++ b/tests/data/parser/err/0005_attribute_recover.txt | |||
@@ -23,8 +23,9 @@ FILE@[0; 54) | |||
23 | R_BRACK@[17; 18) | 23 | R_BRACK@[17; 18) |
24 | WHITESPACE@[18; 19) | 24 | WHITESPACE@[18; 19) |
25 | FN_KW@[19; 21) | 25 | FN_KW@[19; 21) |
26 | WHITESPACE@[21; 22) | 26 | NAME@[21; 25) |
27 | IDENT@[22; 25) "foo" | 27 | WHITESPACE@[21; 22) |
28 | IDENT@[22; 25) "foo" | ||
28 | L_PAREN@[25; 26) | 29 | L_PAREN@[25; 26) |
29 | R_PAREN@[26; 27) | 30 | R_PAREN@[26; 27) |
30 | WHITESPACE@[27; 28) | 31 | WHITESPACE@[27; 28) |
@@ -43,8 +44,9 @@ FILE@[0; 54) | |||
43 | WHITESPACE@[40; 41) | 44 | WHITESPACE@[40; 41) |
44 | err: `expected R_BRACK` | 45 | err: `expected R_BRACK` |
45 | FN_KW@[41; 43) | 46 | FN_KW@[41; 43) |
46 | WHITESPACE@[43; 44) | 47 | NAME@[43; 47) |
47 | IDENT@[44; 47) "foo" | 48 | WHITESPACE@[43; 44) |
49 | IDENT@[44; 47) "foo" | ||
48 | L_PAREN@[47; 48) | 50 | L_PAREN@[47; 48) |
49 | R_PAREN@[48; 49) | 51 | R_PAREN@[48; 49) |
50 | WHITESPACE@[49; 50) | 52 | WHITESPACE@[49; 50) |
diff --git a/tests/data/parser/err/0006_named_field_recovery.txt b/tests/data/parser/err/0006_named_field_recovery.txt index 0437bf2e7..b772671e9 100644 --- a/tests/data/parser/err/0006_named_field_recovery.txt +++ b/tests/data/parser/err/0006_named_field_recovery.txt | |||
@@ -1,13 +1,15 @@ | |||
1 | FILE@[0; 74) | 1 | FILE@[0; 74) |
2 | STRUCT_ITEM@[0; 74) | 2 | STRUCT_ITEM@[0; 74) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 9) |
5 | IDENT@[7; 8) "S" | 5 | WHITESPACE@[6; 7) |
6 | WHITESPACE@[8; 9) | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | ||
7 | L_CURLY@[9; 10) | 8 | L_CURLY@[9; 10) |
8 | NAMED_FIELD@[10; 21) | 9 | NAMED_FIELD@[10; 21) |
9 | WHITESPACE@[10; 15) | 10 | NAME@[10; 16) |
10 | IDENT@[15; 16) "f" | 11 | WHITESPACE@[10; 15) |
12 | IDENT@[15; 16) "f" | ||
11 | COLON@[16; 17) | 13 | COLON@[16; 17) |
12 | WHITESPACE@[17; 18) | 14 | WHITESPACE@[17; 18) |
13 | IDENT@[18; 21) "u32" | 15 | IDENT@[18; 21) "u32" |
@@ -16,11 +18,11 @@ FILE@[0; 74) | |||
16 | WHITESPACE@[22; 27) | 18 | WHITESPACE@[22; 27) |
17 | PUB_KW@[27; 30) | 19 | PUB_KW@[27; 30) |
18 | WHITESPACE@[30; 31) | 20 | WHITESPACE@[30; 31) |
19 | err: `expected IDENT` | ||
20 | ERROR@[31; 38) | 21 | ERROR@[31; 38) |
21 | err: `expected field declaration` | 22 | err: `expected field declaration` |
22 | INT_NUMBER@[31; 33) | 23 | INT_NUMBER@[31; 33) |
23 | WHITESPACE@[33; 38) | 24 | WHITESPACE@[33; 38) |
25 | err: `expected COMMA` | ||
24 | ERROR@[38; 40) | 26 | ERROR@[38; 40) |
25 | err: `expected field declaration` | 27 | err: `expected field declaration` |
26 | PLUS@[38; 39) | 28 | PLUS@[38; 39) |
@@ -37,14 +39,16 @@ FILE@[0; 74) | |||
37 | VISIBILITY@[48; 52) | 39 | VISIBILITY@[48; 52) |
38 | PUB_KW@[48; 51) | 40 | PUB_KW@[48; 51) |
39 | WHITESPACE@[51; 52) | 41 | WHITESPACE@[51; 52) |
40 | IDENT@[52; 53) "x" | 42 | NAME@[52; 53) |
43 | IDENT@[52; 53) "x" | ||
41 | COLON@[53; 54) | 44 | COLON@[53; 54) |
42 | WHITESPACE@[54; 55) | 45 | WHITESPACE@[54; 55) |
43 | IDENT@[55; 58) "u32" | 46 | IDENT@[55; 58) "u32" |
44 | COMMA@[58; 59) | 47 | COMMA@[58; 59) |
45 | NAMED_FIELD@[59; 70) | 48 | NAMED_FIELD@[59; 70) |
46 | WHITESPACE@[59; 64) | 49 | NAME@[59; 65) |
47 | IDENT@[64; 65) "z" | 50 | WHITESPACE@[59; 64) |
51 | IDENT@[64; 65) "z" | ||
48 | COLON@[65; 66) | 52 | COLON@[65; 66) |
49 | WHITESPACE@[66; 67) | 53 | WHITESPACE@[66; 67) |
50 | IDENT@[67; 70) "f64" | 54 | IDENT@[67; 70) "f64" |
diff --git a/tests/data/parser/err/0007_stray_curly_in_file.txt b/tests/data/parser/err/0007_stray_curly_in_file.txt index b4da4464d..f20807bfe 100644 --- a/tests/data/parser/err/0007_stray_curly_in_file.txt +++ b/tests/data/parser/err/0007_stray_curly_in_file.txt | |||
@@ -5,8 +5,9 @@ FILE@[0; 31) | |||
5 | WHITESPACE@[1; 3) | 5 | WHITESPACE@[1; 3) |
6 | STRUCT_ITEM@[3; 14) | 6 | STRUCT_ITEM@[3; 14) |
7 | STRUCT_KW@[3; 9) | 7 | STRUCT_KW@[3; 9) |
8 | WHITESPACE@[9; 10) | 8 | NAME@[9; 11) |
9 | IDENT@[10; 11) "S" | 9 | WHITESPACE@[9; 10) |
10 | IDENT@[10; 11) "S" | ||
10 | SEMI@[11; 12) | 11 | SEMI@[11; 12) |
11 | WHITESPACE@[12; 14) | 12 | WHITESPACE@[12; 14) |
12 | ERROR@[14; 17) | 13 | ERROR@[14; 17) |
@@ -15,8 +16,9 @@ FILE@[0; 31) | |||
15 | WHITESPACE@[15; 17) | 16 | WHITESPACE@[15; 17) |
16 | FN_ITEM@[17; 29) | 17 | FN_ITEM@[17; 29) |
17 | FN_KW@[17; 19) | 18 | FN_KW@[17; 19) |
18 | WHITESPACE@[19; 20) | 19 | NAME@[19; 23) |
19 | IDENT@[20; 23) "foo" | 20 | WHITESPACE@[19; 20) |
21 | IDENT@[20; 23) "foo" | ||
20 | L_PAREN@[23; 24) | 22 | L_PAREN@[23; 24) |
21 | R_PAREN@[24; 25) | 23 | R_PAREN@[24; 25) |
22 | L_CURLY@[25; 26) | 24 | L_CURLY@[25; 26) |
diff --git a/tests/data/parser/err/0008_item_block_recovery.txt b/tests/data/parser/err/0008_item_block_recovery.txt index c6386fd73..ddfb4b4dc 100644 --- a/tests/data/parser/err/0008_item_block_recovery.txt +++ b/tests/data/parser/err/0008_item_block_recovery.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 95) | 1 | FILE@[0; 95) |
2 | FN_ITEM@[0; 14) | 2 | FN_ITEM@[0; 14) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) |
4 | WHITESPACE@[2; 3) | 4 | NAME@[2; 6) |
5 | IDENT@[3; 6) "foo" | 5 | WHITESPACE@[2; 3) |
6 | IDENT@[3; 6) "foo" | ||
6 | L_PAREN@[6; 7) | 7 | L_PAREN@[6; 7) |
7 | R_PAREN@[7; 8) | 8 | R_PAREN@[7; 8) |
8 | WHITESPACE@[8; 9) | 9 | WHITESPACE@[8; 9) |
@@ -50,8 +51,9 @@ FILE@[0; 95) | |||
50 | WHITESPACE@[80; 82) | 51 | WHITESPACE@[80; 82) |
51 | FN_ITEM@[82; 95) | 52 | FN_ITEM@[82; 95) |
52 | FN_KW@[82; 84) | 53 | FN_KW@[82; 84) |
53 | WHITESPACE@[84; 85) | 54 | NAME@[84; 88) |
54 | IDENT@[85; 88) "baz" | 55 | WHITESPACE@[84; 85) |
56 | IDENT@[85; 88) "baz" | ||
55 | L_PAREN@[88; 89) | 57 | L_PAREN@[88; 89) |
56 | R_PAREN@[89; 90) | 58 | R_PAREN@[89; 90) |
57 | WHITESPACE@[90; 91) | 59 | WHITESPACE@[90; 91) |
diff --git a/tests/data/parser/err/0009_broken_struct_type_parameter.txt b/tests/data/parser/err/0009_broken_struct_type_parameter.txt index f329735b6..9434a764a 100644 --- a/tests/data/parser/err/0009_broken_struct_type_parameter.txt +++ b/tests/data/parser/err/0009_broken_struct_type_parameter.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 43) | 1 | FILE@[0; 43) |
2 | STRUCT_ITEM@[0; 12) | 2 | STRUCT_ITEM@[0; 12) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 8) |
5 | IDENT@[7; 8) "S" | 5 | WHITESPACE@[6; 7) |
6 | IDENT@[7; 8) "S" | ||
6 | TYPE_PARAM_LIST@[8; 12) | 7 | TYPE_PARAM_LIST@[8; 12) |
7 | L_ANGLE@[8; 9) | 8 | L_ANGLE@[8; 9) |
8 | ERROR@[9; 12) | 9 | ERROR@[9; 12) |
@@ -36,7 +37,8 @@ FILE@[0; 43) | |||
36 | WHITESPACE@[31; 33) | 37 | WHITESPACE@[31; 33) |
37 | STRUCT_ITEM@[33; 43) | 38 | STRUCT_ITEM@[33; 43) |
38 | STRUCT_KW@[33; 39) | 39 | STRUCT_KW@[33; 39) |
39 | WHITESPACE@[39; 40) | 40 | NAME@[39; 41) |
40 | IDENT@[40; 41) "T" | 41 | WHITESPACE@[39; 40) |
42 | IDENT@[40; 41) "T" | ||
41 | SEMI@[41; 42) | 43 | SEMI@[41; 42) |
42 | WHITESPACE@[42; 43) | 44 | WHITESPACE@[42; 43) |
diff --git a/tests/data/parser/inline/0001_const_unsafe_fn.txt b/tests/data/parser/inline/0001_const_unsafe_fn.txt index 1f0865cb0..59bf89ddb 100644 --- a/tests/data/parser/inline/0001_const_unsafe_fn.txt +++ b/tests/data/parser/inline/0001_const_unsafe_fn.txt | |||
@@ -5,8 +5,9 @@ FILE@[0; 25) | |||
5 | UNSAFE_KW@[6; 12) | 5 | UNSAFE_KW@[6; 12) |
6 | WHITESPACE@[12; 13) | 6 | WHITESPACE@[12; 13) |
7 | FN_KW@[13; 15) | 7 | FN_KW@[13; 15) |
8 | WHITESPACE@[15; 16) | 8 | NAME@[15; 19) |
9 | IDENT@[16; 19) "foo" | 9 | WHITESPACE@[15; 16) |
10 | IDENT@[16; 19) "foo" | ||
10 | L_PAREN@[19; 20) | 11 | L_PAREN@[19; 20) |
11 | R_PAREN@[20; 21) | 12 | R_PAREN@[20; 21) |
12 | WHITESPACE@[21; 22) | 13 | WHITESPACE@[21; 22) |
diff --git a/tests/data/parser/inline/0002_const_fn.txt b/tests/data/parser/inline/0002_const_fn.txt index 2d360d78b..2e9d18f7f 100644 --- a/tests/data/parser/inline/0002_const_fn.txt +++ b/tests/data/parser/inline/0002_const_fn.txt | |||
@@ -3,8 +3,9 @@ FILE@[0; 18) | |||
3 | CONST_KW@[0; 5) | 3 | CONST_KW@[0; 5) |
4 | WHITESPACE@[5; 6) | 4 | WHITESPACE@[5; 6) |
5 | FN_KW@[6; 8) | 5 | FN_KW@[6; 8) |
6 | WHITESPACE@[8; 9) | 6 | NAME@[8; 12) |
7 | IDENT@[9; 12) "foo" | 7 | WHITESPACE@[8; 9) |
8 | IDENT@[9; 12) "foo" | ||
8 | L_PAREN@[12; 13) | 9 | L_PAREN@[12; 13) |
9 | R_PAREN@[13; 14) | 10 | R_PAREN@[13; 14) |
10 | WHITESPACE@[14; 15) | 11 | WHITESPACE@[14; 15) |
diff --git a/tests/data/parser/inline/0004_extern_fn.txt b/tests/data/parser/inline/0004_extern_fn.txt index 096c3bf4f..70a909ccf 100644 --- a/tests/data/parser/inline/0004_extern_fn.txt +++ b/tests/data/parser/inline/0004_extern_fn.txt | |||
@@ -4,8 +4,9 @@ FILE@[0; 19) | |||
4 | EXTERN_KW@[0; 6) | 4 | EXTERN_KW@[0; 6) |
5 | WHITESPACE@[6; 7) | 5 | WHITESPACE@[6; 7) |
6 | FN_KW@[7; 9) | 6 | FN_KW@[7; 9) |
7 | WHITESPACE@[9; 10) | 7 | NAME@[9; 13) |
8 | IDENT@[10; 13) "foo" | 8 | WHITESPACE@[9; 10) |
9 | IDENT@[10; 13) "foo" | ||
9 | L_PAREN@[13; 14) | 10 | L_PAREN@[13; 14) |
10 | R_PAREN@[14; 15) | 11 | R_PAREN@[14; 15) |
11 | WHITESPACE@[15; 16) | 12 | WHITESPACE@[15; 16) |
diff --git a/tests/data/parser/inline/0005_extern_crate.txt b/tests/data/parser/inline/0005_extern_crate.txt index 07cc47875..cbdf5aba1 100644 --- a/tests/data/parser/inline/0005_extern_crate.txt +++ b/tests/data/parser/inline/0005_extern_crate.txt | |||
@@ -3,7 +3,8 @@ FILE@[0; 18) | |||
3 | EXTERN_KW@[0; 6) | 3 | EXTERN_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) |
5 | CRATE_KW@[7; 12) | 5 | CRATE_KW@[7; 12) |
6 | WHITESPACE@[12; 13) | 6 | NAME@[12; 16) |
7 | IDENT@[13; 16) "foo" | 7 | WHITESPACE@[12; 13) |
8 | IDENT@[13; 16) "foo" | ||
8 | SEMI@[16; 17) | 9 | SEMI@[16; 17) |
9 | WHITESPACE@[17; 18) | 10 | WHITESPACE@[17; 18) |
diff --git a/tests/data/parser/inline/0006_extern_struct.txt b/tests/data/parser/inline/0006_extern_struct.txt index 13917d7f3..93a5b0477 100644 --- a/tests/data/parser/inline/0006_extern_struct.txt +++ b/tests/data/parser/inline/0006_extern_struct.txt | |||
@@ -5,7 +5,8 @@ FILE@[0; 19) | |||
5 | err: `expected `fn` or `{`` | 5 | err: `expected `fn` or `{`` |
6 | STRUCT_ITEM@[7; 19) | 6 | STRUCT_ITEM@[7; 19) |
7 | STRUCT_KW@[7; 13) | 7 | STRUCT_KW@[7; 13) |
8 | WHITESPACE@[13; 14) | 8 | NAME@[13; 17) |
9 | IDENT@[14; 17) "Foo" | 9 | WHITESPACE@[13; 14) |
10 | IDENT@[14; 17) "Foo" | ||
10 | SEMI@[17; 18) | 11 | SEMI@[17; 18) |
11 | WHITESPACE@[18; 19) | 12 | WHITESPACE@[18; 19) |
diff --git a/tests/data/parser/inline/0007_unsafe_trait.txt b/tests/data/parser/inline/0007_unsafe_trait.txt index d6f6a4cfa..9e2f82587 100644 --- a/tests/data/parser/inline/0007_unsafe_trait.txt +++ b/tests/data/parser/inline/0007_unsafe_trait.txt | |||
@@ -3,9 +3,10 @@ FILE@[0; 18) | |||
3 | UNSAFE_KW@[0; 6) | 3 | UNSAFE_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) |
5 | TRAIT_KW@[7; 12) | 5 | TRAIT_KW@[7; 12) |
6 | WHITESPACE@[12; 13) | 6 | NAME@[12; 15) |
7 | IDENT@[13; 14) "T" | 7 | WHITESPACE@[12; 13) |
8 | WHITESPACE@[14; 15) | 8 | IDENT@[13; 14) "T" |
9 | WHITESPACE@[14; 15) | ||
9 | L_CURLY@[15; 16) | 10 | L_CURLY@[15; 16) |
10 | R_CURLY@[16; 17) | 11 | R_CURLY@[16; 17) |
11 | WHITESPACE@[17; 18) | 12 | WHITESPACE@[17; 18) |
diff --git a/tests/data/parser/inline/0009_unsafe_auto_trait.txt b/tests/data/parser/inline/0009_unsafe_auto_trait.txt index 0a9a1e117..aa1c99168 100644 --- a/tests/data/parser/inline/0009_unsafe_auto_trait.txt +++ b/tests/data/parser/inline/0009_unsafe_auto_trait.txt | |||
@@ -5,9 +5,10 @@ FILE@[0; 23) | |||
5 | AUTO_KW@[7; 11) | 5 | AUTO_KW@[7; 11) |
6 | WHITESPACE@[11; 12) | 6 | WHITESPACE@[11; 12) |
7 | TRAIT_KW@[12; 17) | 7 | TRAIT_KW@[12; 17) |
8 | WHITESPACE@[17; 18) | 8 | NAME@[17; 20) |
9 | IDENT@[18; 19) "T" | 9 | WHITESPACE@[17; 18) |
10 | WHITESPACE@[19; 20) | 10 | IDENT@[18; 19) "T" |
11 | WHITESPACE@[19; 20) | ||
11 | L_CURLY@[20; 21) | 12 | L_CURLY@[20; 21) |
12 | R_CURLY@[21; 22) | 13 | R_CURLY@[21; 22) |
13 | WHITESPACE@[22; 23) | 14 | WHITESPACE@[22; 23) |
diff --git a/tests/data/parser/inline/0011_unsafe_fn.txt b/tests/data/parser/inline/0011_unsafe_fn.txt index 23eca1d65..ed790fe22 100644 --- a/tests/data/parser/inline/0011_unsafe_fn.txt +++ b/tests/data/parser/inline/0011_unsafe_fn.txt | |||
@@ -3,8 +3,9 @@ FILE@[0; 19) | |||
3 | UNSAFE_KW@[0; 6) | 3 | UNSAFE_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) |
5 | FN_KW@[7; 9) | 5 | FN_KW@[7; 9) |
6 | WHITESPACE@[9; 10) | 6 | NAME@[9; 13) |
7 | IDENT@[10; 13) "foo" | 7 | WHITESPACE@[9; 10) |
8 | IDENT@[10; 13) "foo" | ||
8 | L_PAREN@[13; 14) | 9 | L_PAREN@[13; 14) |
9 | R_PAREN@[14; 15) | 10 | R_PAREN@[14; 15) |
10 | WHITESPACE@[15; 16) | 11 | WHITESPACE@[15; 16) |
diff --git a/tests/data/parser/inline/0012_unsafe_extern_fn.txt b/tests/data/parser/inline/0012_unsafe_extern_fn.txt index 547cb499d..3c8a15d12 100644 --- a/tests/data/parser/inline/0012_unsafe_extern_fn.txt +++ b/tests/data/parser/inline/0012_unsafe_extern_fn.txt | |||
@@ -8,8 +8,9 @@ FILE@[0; 30) | |||
8 | STRING@[14; 17) | 8 | STRING@[14; 17) |
9 | WHITESPACE@[17; 18) | 9 | WHITESPACE@[17; 18) |
10 | FN_KW@[18; 20) | 10 | FN_KW@[18; 20) |
11 | WHITESPACE@[20; 21) | 11 | NAME@[20; 24) |
12 | IDENT@[21; 24) "foo" | 12 | WHITESPACE@[20; 21) |
13 | IDENT@[21; 24) "foo" | ||
13 | L_PAREN@[24; 25) | 14 | L_PAREN@[24; 25) |
14 | R_PAREN@[25; 26) | 15 | R_PAREN@[25; 26) |
15 | WHITESPACE@[26; 27) | 16 | WHITESPACE@[26; 27) |
diff --git a/tests/data/parser/inline/0013_unsafe_block_in_mod.txt b/tests/data/parser/inline/0013_unsafe_block_in_mod.txt index 2e319be73..305e3058d 100644 --- a/tests/data/parser/inline/0013_unsafe_block_in_mod.txt +++ b/tests/data/parser/inline/0013_unsafe_block_in_mod.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 33) | 1 | FILE@[0; 33) |
2 | FN_ITEM@[0; 11) | 2 | FN_ITEM@[0; 11) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) |
4 | WHITESPACE@[2; 3) | 4 | NAME@[2; 6) |
5 | IDENT@[3; 6) "foo" | 5 | WHITESPACE@[2; 3) |
6 | IDENT@[3; 6) "foo" | ||
6 | L_PAREN@[6; 7) | 7 | L_PAREN@[6; 7) |
7 | R_PAREN@[7; 8) | 8 | R_PAREN@[7; 8) |
8 | L_CURLY@[8; 9) | 9 | L_CURLY@[8; 9) |
@@ -18,8 +19,9 @@ FILE@[0; 33) | |||
18 | WHITESPACE@[21; 22) | 19 | WHITESPACE@[21; 22) |
19 | FN_ITEM@[22; 33) | 20 | FN_ITEM@[22; 33) |
20 | FN_KW@[22; 24) | 21 | FN_KW@[22; 24) |
21 | WHITESPACE@[24; 25) | 22 | NAME@[24; 28) |
22 | IDENT@[25; 28) "bar" | 23 | WHITESPACE@[24; 25) |
24 | IDENT@[25; 28) "bar" | ||
23 | L_PAREN@[28; 29) | 25 | L_PAREN@[28; 29) |
24 | R_PAREN@[29; 30) | 26 | R_PAREN@[29; 30) |
25 | L_CURLY@[30; 31) | 27 | L_CURLY@[30; 31) |
diff --git a/tests/data/parser/inline/0014_type_item_type_params.txt b/tests/data/parser/inline/0014_type_item_type_params.txt index b0f0f8337..ca32faa42 100644 --- a/tests/data/parser/inline/0014_type_item_type_params.txt +++ b/tests/data/parser/inline/0014_type_item_type_params.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 21) | 1 | FILE@[0; 21) |
2 | TYPE_ITEM@[0; 21) | 2 | TYPE_ITEM@[0; 21) |
3 | TYPE_KW@[0; 4) | 3 | TYPE_KW@[0; 4) |
4 | WHITESPACE@[4; 5) | 4 | NAME@[4; 11) |
5 | IDENT@[5; 11) "Result" | 5 | WHITESPACE@[4; 5) |
6 | IDENT@[5; 11) "Result" | ||
6 | TYPE_PARAM_LIST@[11; 15) | 7 | TYPE_PARAM_LIST@[11; 15) |
7 | L_ANGLE@[11; 12) | 8 | L_ANGLE@[11; 12) |
8 | TYPE_PARAM@[12; 13) | 9 | TYPE_PARAM@[12; 13) |
diff --git a/tests/data/parser/inline/0015_type_item.txt b/tests/data/parser/inline/0015_type_item.txt index 382d7ece0..3818fe25d 100644 --- a/tests/data/parser/inline/0015_type_item.txt +++ b/tests/data/parser/inline/0015_type_item.txt | |||
@@ -1,9 +1,10 @@ | |||
1 | FILE@[0; 16) | 1 | FILE@[0; 16) |
2 | TYPE_ITEM@[0; 16) | 2 | TYPE_ITEM@[0; 16) |
3 | TYPE_KW@[0; 4) | 3 | TYPE_KW@[0; 4) |
4 | WHITESPACE@[4; 5) | 4 | NAME@[4; 9) |
5 | IDENT@[5; 8) "Foo" | 5 | WHITESPACE@[4; 5) |
6 | WHITESPACE@[8; 9) | 6 | IDENT@[5; 8) "Foo" |
7 | WHITESPACE@[8; 9) | ||
7 | EQ@[9; 10) | 8 | EQ@[9; 10) |
8 | WHITESPACE@[10; 11) | 9 | WHITESPACE@[10; 11) |
9 | IDENT@[11; 14) "Bar" | 10 | IDENT@[11; 14) "Bar" |
diff --git a/tests/data/parser/inline/0016_type_item_where_clause.txt b/tests/data/parser/inline/0016_type_item_where_clause.txt index ddd335870..12bbc752a 100644 --- a/tests/data/parser/inline/0016_type_item_where_clause.txt +++ b/tests/data/parser/inline/0016_type_item_where_clause.txt | |||
@@ -1,10 +1,11 @@ | |||
1 | FILE@[0; 31) | 1 | FILE@[0; 31) |
2 | TYPE_ITEM@[0; 31) | 2 | TYPE_ITEM@[0; 31) |
3 | TYPE_KW@[0; 4) | 3 | TYPE_KW@[0; 4) |
4 | WHITESPACE@[4; 5) | 4 | NAME@[4; 9) |
5 | IDENT@[5; 8) "Foo" | 5 | WHITESPACE@[4; 5) |
6 | WHERE_CLAUSE@[8; 25) | 6 | IDENT@[5; 8) "Foo" |
7 | WHITESPACE@[8; 9) | 7 | WHITESPACE@[8; 9) |
8 | WHERE_CLAUSE@[9; 25) | ||
8 | WHERE_KW@[9; 14) | 9 | WHERE_KW@[9; 14) |
9 | WHITESPACE@[14; 15) | 10 | WHITESPACE@[14; 15) |
10 | IDENT@[15; 18) "Foo" | 11 | IDENT@[15; 18) "Foo" |
diff --git a/tests/data/parser/ok/0001_struct_item.txt b/tests/data/parser/ok/0001_struct_item.txt index c280a434f..b0195c316 100644 --- a/tests/data/parser/ok/0001_struct_item.txt +++ b/tests/data/parser/ok/0001_struct_item.txt | |||
@@ -1,9 +1,10 @@ | |||
1 | FILE@[0; 13) | 1 | FILE@[0; 13) |
2 | STRUCT_ITEM@[0; 13) | 2 | STRUCT_ITEM@[0; 13) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 9) |
5 | IDENT@[7; 8) "S" | 5 | WHITESPACE@[6; 7) |
6 | WHITESPACE@[8; 9) | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | ||
7 | L_CURLY@[9; 10) | 8 | L_CURLY@[9; 10) |
8 | WHITESPACE@[10; 12) | 9 | WHITESPACE@[10; 12) |
9 | R_CURLY@[12; 13) | 10 | R_CURLY@[12; 13) |
diff --git a/tests/data/parser/ok/0002_struct_item_field.txt b/tests/data/parser/ok/0002_struct_item_field.txt index 5a7bfbaec..31d3508db 100644 --- a/tests/data/parser/ok/0002_struct_item_field.txt +++ b/tests/data/parser/ok/0002_struct_item_field.txt | |||
@@ -1,13 +1,15 @@ | |||
1 | FILE@[0; 25) | 1 | FILE@[0; 25) |
2 | STRUCT_ITEM@[0; 25) | 2 | STRUCT_ITEM@[0; 25) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 9) |
5 | IDENT@[7; 8) "S" | 5 | WHITESPACE@[6; 7) |
6 | WHITESPACE@[8; 9) | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | ||
7 | L_CURLY@[9; 10) | 8 | L_CURLY@[9; 10) |
8 | NAMED_FIELD@[10; 24) | 9 | NAMED_FIELD@[10; 24) |
9 | WHITESPACE@[10; 15) | 10 | NAME@[10; 18) |
10 | IDENT@[15; 18) "foo" | 11 | WHITESPACE@[10; 15) |
12 | IDENT@[15; 18) "foo" | ||
11 | COLON@[18; 19) | 13 | COLON@[18; 19) |
12 | WHITESPACE@[19; 20) | 14 | WHITESPACE@[19; 20) |
13 | IDENT@[20; 23) "u32" | 15 | IDENT@[20; 23) "u32" |
diff --git a/tests/data/parser/ok/0005_fn_item.txt b/tests/data/parser/ok/0005_fn_item.txt index 113359351..0324ae3ee 100644 --- a/tests/data/parser/ok/0005_fn_item.txt +++ b/tests/data/parser/ok/0005_fn_item.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 13) | 1 | FILE@[0; 13) |
2 | FN_ITEM@[0; 13) | 2 | FN_ITEM@[0; 13) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) |
4 | WHITESPACE@[2; 3) | 4 | NAME@[2; 6) |
5 | IDENT@[3; 6) "foo" | 5 | WHITESPACE@[2; 3) |
6 | IDENT@[3; 6) "foo" | ||
6 | L_PAREN@[6; 7) | 7 | L_PAREN@[6; 7) |
7 | R_PAREN@[7; 8) | 8 | R_PAREN@[7; 8) |
8 | WHITESPACE@[8; 9) | 9 | WHITESPACE@[8; 9) |
diff --git a/tests/data/parser/ok/0007_extern_crate.txt b/tests/data/parser/ok/0007_extern_crate.txt index aff70131b..33ce2ae65 100644 --- a/tests/data/parser/ok/0007_extern_crate.txt +++ b/tests/data/parser/ok/0007_extern_crate.txt | |||
@@ -3,20 +3,23 @@ FILE@[0; 43) | |||
3 | EXTERN_KW@[0; 6) | 3 | EXTERN_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) |
5 | CRATE_KW@[7; 12) | 5 | CRATE_KW@[7; 12) |
6 | WHITESPACE@[12; 13) | 6 | NAME@[12; 16) |
7 | IDENT@[13; 16) "foo" | 7 | WHITESPACE@[12; 13) |
8 | IDENT@[13; 16) "foo" | ||
8 | SEMI@[16; 17) | 9 | SEMI@[16; 17) |
9 | WHITESPACE@[17; 18) | 10 | WHITESPACE@[17; 18) |
10 | EXTERN_CRATE_ITEM@[18; 43) | 11 | EXTERN_CRATE_ITEM@[18; 43) |
11 | EXTERN_KW@[18; 24) | 12 | EXTERN_KW@[18; 24) |
12 | WHITESPACE@[24; 25) | 13 | WHITESPACE@[24; 25) |
13 | CRATE_KW@[25; 30) | 14 | CRATE_KW@[25; 30) |
14 | WHITESPACE@[30; 31) | 15 | NAME@[30; 35) |
15 | IDENT@[31; 34) "foo" | 16 | WHITESPACE@[30; 31) |
16 | ALIAS@[34; 41) | 17 | IDENT@[31; 34) "foo" |
17 | WHITESPACE@[34; 35) | 18 | WHITESPACE@[34; 35) |
19 | ALIAS@[35; 41) | ||
18 | AS_KW@[35; 37) | 20 | AS_KW@[35; 37) |
19 | WHITESPACE@[37; 38) | 21 | NAME@[37; 41) |
20 | IDENT@[38; 41) "bar" | 22 | WHITESPACE@[37; 38) |
23 | IDENT@[38; 41) "bar" | ||
21 | SEMI@[41; 42) | 24 | SEMI@[41; 42) |
22 | WHITESPACE@[42; 43) | 25 | WHITESPACE@[42; 43) |
diff --git a/tests/data/parser/ok/0008_mod_item.txt b/tests/data/parser/ok/0008_mod_item.txt index 06e11807d..20321051c 100644 --- a/tests/data/parser/ok/0008_mod_item.txt +++ b/tests/data/parser/ok/0008_mod_item.txt | |||
@@ -1,30 +1,34 @@ | |||
1 | FILE@[0; 118) | 1 | FILE@[0; 118) |
2 | MOD_ITEM@[0; 8) | 2 | MOD_ITEM@[0; 8) |
3 | MOD_KW@[0; 3) | 3 | MOD_KW@[0; 3) |
4 | WHITESPACE@[3; 4) | 4 | NAME@[3; 5) |
5 | IDENT@[4; 5) "a" | 5 | WHITESPACE@[3; 4) |
6 | IDENT@[4; 5) "a" | ||
6 | SEMI@[5; 6) | 7 | SEMI@[5; 6) |
7 | WHITESPACE@[6; 8) | 8 | WHITESPACE@[6; 8) |
8 | MOD_ITEM@[8; 19) | 9 | MOD_ITEM@[8; 19) |
9 | MOD_KW@[8; 11) | 10 | MOD_KW@[8; 11) |
10 | WHITESPACE@[11; 12) | 11 | NAME@[11; 14) |
11 | IDENT@[12; 13) "b" | 12 | WHITESPACE@[11; 12) |
12 | WHITESPACE@[13; 14) | 13 | IDENT@[12; 13) "b" |
14 | WHITESPACE@[13; 14) | ||
13 | L_CURLY@[14; 15) | 15 | L_CURLY@[14; 15) |
14 | WHITESPACE@[15; 16) | 16 | WHITESPACE@[15; 16) |
15 | R_CURLY@[16; 17) | 17 | R_CURLY@[16; 17) |
16 | WHITESPACE@[17; 19) | 18 | WHITESPACE@[17; 19) |
17 | MOD_ITEM@[19; 67) | 19 | MOD_ITEM@[19; 67) |
18 | MOD_KW@[19; 22) | 20 | MOD_KW@[19; 22) |
19 | WHITESPACE@[22; 23) | 21 | NAME@[22; 25) |
20 | IDENT@[23; 24) "c" | 22 | WHITESPACE@[22; 23) |
21 | WHITESPACE@[24; 25) | 23 | IDENT@[23; 24) "c" |
24 | WHITESPACE@[24; 25) | ||
22 | L_CURLY@[25; 26) | 25 | L_CURLY@[25; 26) |
23 | FN_ITEM@[26; 52) | 26 | FN_ITEM@[26; 52) |
24 | WHITESPACE@[26; 31) | 27 | WHITESPACE@[26; 31) |
25 | FN_KW@[31; 33) | 28 | FN_KW@[31; 33) |
26 | WHITESPACE@[33; 34) | 29 | NAME@[33; 37) |
27 | IDENT@[34; 37) "foo" | 30 | WHITESPACE@[33; 34) |
31 | IDENT@[34; 37) "foo" | ||
28 | L_PAREN@[37; 38) | 32 | L_PAREN@[37; 38) |
29 | R_PAREN@[38; 39) | 33 | R_PAREN@[38; 39) |
30 | WHITESPACE@[39; 40) | 34 | WHITESPACE@[39; 40) |
@@ -34,9 +38,10 @@ FILE@[0; 118) | |||
34 | WHITESPACE@[47; 52) | 38 | WHITESPACE@[47; 52) |
35 | STRUCT_ITEM@[52; 64) | 39 | STRUCT_ITEM@[52; 64) |
36 | STRUCT_KW@[52; 58) | 40 | STRUCT_KW@[52; 58) |
37 | WHITESPACE@[58; 59) | 41 | NAME@[58; 61) |
38 | IDENT@[59; 60) "S" | 42 | WHITESPACE@[58; 59) |
39 | WHITESPACE@[60; 61) | 43 | IDENT@[59; 60) "S" |
44 | WHITESPACE@[60; 61) | ||
40 | L_CURLY@[61; 62) | 45 | L_CURLY@[61; 62) |
41 | R_CURLY@[62; 63) | 46 | R_CURLY@[62; 63) |
42 | WHITESPACE@[63; 64) | 47 | WHITESPACE@[63; 64) |
@@ -44,9 +49,10 @@ FILE@[0; 118) | |||
44 | WHITESPACE@[65; 67) | 49 | WHITESPACE@[65; 67) |
45 | MOD_ITEM@[67; 118) | 50 | MOD_ITEM@[67; 118) |
46 | MOD_KW@[67; 70) | 51 | MOD_KW@[67; 70) |
47 | WHITESPACE@[70; 71) | 52 | NAME@[70; 73) |
48 | IDENT@[71; 72) "d" | 53 | WHITESPACE@[70; 71) |
49 | WHITESPACE@[72; 73) | 54 | IDENT@[71; 72) "d" |
55 | WHITESPACE@[72; 73) | ||
50 | L_CURLY@[73; 74) | 56 | L_CURLY@[73; 74) |
51 | ATTR@[74; 92) | 57 | ATTR@[74; 92) |
52 | WHITESPACE@[74; 79) | 58 | WHITESPACE@[74; 79) |
@@ -59,15 +65,17 @@ FILE@[0; 118) | |||
59 | WHITESPACE@[87; 92) | 65 | WHITESPACE@[87; 92) |
60 | MOD_ITEM@[92; 103) | 66 | MOD_ITEM@[92; 103) |
61 | MOD_KW@[92; 95) | 67 | MOD_KW@[92; 95) |
62 | WHITESPACE@[95; 96) | 68 | NAME@[95; 97) |
63 | IDENT@[96; 97) "e" | 69 | WHITESPACE@[95; 96) |
70 | IDENT@[96; 97) "e" | ||
64 | SEMI@[97; 98) | 71 | SEMI@[97; 98) |
65 | WHITESPACE@[98; 103) | 72 | WHITESPACE@[98; 103) |
66 | MOD_ITEM@[103; 117) | 73 | MOD_ITEM@[103; 117) |
67 | MOD_KW@[103; 106) | 74 | MOD_KW@[103; 106) |
68 | WHITESPACE@[106; 107) | 75 | NAME@[106; 109) |
69 | IDENT@[107; 108) "f" | 76 | WHITESPACE@[106; 107) |
70 | WHITESPACE@[108; 109) | 77 | IDENT@[107; 108) "f" |
78 | WHITESPACE@[108; 109) | ||
71 | L_CURLY@[109; 110) | 79 | L_CURLY@[109; 110) |
72 | WHITESPACE@[110; 115) | 80 | WHITESPACE@[110; 115) |
73 | R_CURLY@[115; 116) | 81 | R_CURLY@[115; 116) |
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/0011_outer_attribute.txt b/tests/data/parser/ok/0011_outer_attribute.txt index 4839d8e67..49023e7f3 100644 --- a/tests/data/parser/ok/0011_outer_attribute.txt +++ b/tests/data/parser/ok/0011_outer_attribute.txt | |||
@@ -19,8 +19,9 @@ FILE@[0; 35) | |||
19 | R_BRACK@[21; 22) | 19 | R_BRACK@[21; 22) |
20 | WHITESPACE@[22; 23) | 20 | WHITESPACE@[22; 23) |
21 | FN_KW@[23; 25) | 21 | FN_KW@[23; 25) |
22 | WHITESPACE@[25; 26) | 22 | NAME@[25; 29) |
23 | IDENT@[26; 29) "foo" | 23 | WHITESPACE@[25; 26) |
24 | IDENT@[26; 29) "foo" | ||
24 | L_PAREN@[29; 30) | 25 | L_PAREN@[29; 30) |
25 | R_PAREN@[30; 31) | 26 | R_PAREN@[30; 31) |
26 | WHITESPACE@[31; 32) | 27 | WHITESPACE@[31; 32) |
diff --git a/tests/data/parser/ok/0012_visibility.txt b/tests/data/parser/ok/0012_visibility.txt index ed22b265b..c138b73f3 100644 --- a/tests/data/parser/ok/0012_visibility.txt +++ b/tests/data/parser/ok/0012_visibility.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 98) | 1 | FILE@[0; 98) |
2 | FN_ITEM@[0; 10) | 2 | FN_ITEM@[0; 10) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) |
4 | WHITESPACE@[2; 3) | 4 | NAME@[2; 4) |
5 | IDENT@[3; 4) "a" | 5 | WHITESPACE@[2; 3) |
6 | IDENT@[3; 4) "a" | ||
6 | L_PAREN@[4; 5) | 7 | L_PAREN@[4; 5) |
7 | R_PAREN@[5; 6) | 8 | R_PAREN@[5; 6) |
8 | WHITESPACE@[6; 7) | 9 | WHITESPACE@[6; 7) |
@@ -14,8 +15,9 @@ FILE@[0; 98) | |||
14 | PUB_KW@[10; 13) | 15 | PUB_KW@[10; 13) |
15 | WHITESPACE@[13; 14) | 16 | WHITESPACE@[13; 14) |
16 | FN_KW@[14; 16) | 17 | FN_KW@[14; 16) |
17 | WHITESPACE@[16; 17) | 18 | NAME@[16; 18) |
18 | IDENT@[17; 18) "b" | 19 | WHITESPACE@[16; 17) |
20 | IDENT@[17; 18) "b" | ||
19 | L_PAREN@[18; 19) | 21 | L_PAREN@[18; 19) |
20 | R_PAREN@[19; 20) | 22 | R_PAREN@[19; 20) |
21 | WHITESPACE@[20; 21) | 23 | WHITESPACE@[20; 21) |
@@ -30,8 +32,9 @@ FILE@[0; 98) | |||
30 | R_PAREN@[33; 34) | 32 | R_PAREN@[33; 34) |
31 | WHITESPACE@[34; 35) | 33 | WHITESPACE@[34; 35) |
32 | FN_KW@[35; 37) | 34 | FN_KW@[35; 37) |
33 | WHITESPACE@[37; 38) | 35 | NAME@[37; 39) |
34 | IDENT@[38; 39) "c" | 36 | WHITESPACE@[37; 38) |
37 | IDENT@[38; 39) "c" | ||
35 | L_PAREN@[39; 40) | 38 | L_PAREN@[39; 40) |
36 | R_PAREN@[40; 41) | 39 | R_PAREN@[40; 41) |
37 | WHITESPACE@[41; 42) | 40 | WHITESPACE@[41; 42) |
@@ -46,8 +49,9 @@ FILE@[0; 98) | |||
46 | R_PAREN@[54; 55) | 49 | R_PAREN@[54; 55) |
47 | WHITESPACE@[55; 56) | 50 | WHITESPACE@[55; 56) |
48 | FN_KW@[56; 58) | 51 | FN_KW@[56; 58) |
49 | WHITESPACE@[58; 59) | 52 | NAME@[58; 60) |
50 | IDENT@[59; 60) "d" | 53 | WHITESPACE@[58; 59) |
54 | IDENT@[59; 60) "d" | ||
51 | L_PAREN@[60; 61) | 55 | L_PAREN@[60; 61) |
52 | R_PAREN@[61; 62) | 56 | R_PAREN@[61; 62) |
53 | WHITESPACE@[62; 63) | 57 | WHITESPACE@[62; 63) |
@@ -63,19 +67,23 @@ FILE@[0; 98) | |||
63 | PATH@[72; 81) | 67 | PATH@[72; 81) |
64 | PATH@[72; 76) | 68 | PATH@[72; 76) |
65 | PATH_SEGMENT@[72; 76) | 69 | PATH_SEGMENT@[72; 76) |
66 | WHITESPACE@[72; 73) | 70 | NAME_REF@[72; 76) |
67 | IDENT@[73; 76) "foo" | 71 | WHITESPACE@[72; 73) |
72 | IDENT@[73; 76) "foo" | ||
68 | COLONCOLON@[76; 78) | 73 | COLONCOLON@[76; 78) |
69 | PATH_SEGMENT@[78; 81) | 74 | PATH_SEGMENT@[78; 81) |
70 | IDENT@[78; 81) "bar" | 75 | NAME_REF@[78; 81) |
76 | IDENT@[78; 81) "bar" | ||
71 | COLONCOLON@[81; 83) | 77 | COLONCOLON@[81; 83) |
72 | PATH_SEGMENT@[83; 86) | 78 | PATH_SEGMENT@[83; 86) |
73 | IDENT@[83; 86) "baz" | 79 | NAME_REF@[83; 86) |
80 | IDENT@[83; 86) "baz" | ||
74 | R_PAREN@[86; 87) | 81 | R_PAREN@[86; 87) |
75 | WHITESPACE@[87; 88) | 82 | WHITESPACE@[87; 88) |
76 | FN_KW@[88; 90) | 83 | FN_KW@[88; 90) |
77 | WHITESPACE@[90; 91) | 84 | NAME@[90; 92) |
78 | IDENT@[91; 92) "e" | 85 | WHITESPACE@[90; 91) |
86 | IDENT@[91; 92) "e" | ||
79 | L_PAREN@[92; 93) | 87 | L_PAREN@[92; 93) |
80 | R_PAREN@[93; 94) | 88 | R_PAREN@[93; 94) |
81 | WHITESPACE@[94; 95) | 89 | WHITESPACE@[94; 95) |
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 10bdef5fe..2ba15bbee 100644 --- a/tests/data/parser/ok/0015_use_tree.txt +++ b/tests/data/parser/ok/0015_use_tree.txt | |||
@@ -4,13 +4,15 @@ 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 | WHITESPACE@[10; 11) | 13 | NAME@[10; 14) |
13 | IDENT@[11; 14) "bar" | 14 | WHITESPACE@[10; 11) |
15 | IDENT@[11; 14) "bar" | ||
14 | SEMI@[14; 15) | 16 | SEMI@[14; 15) |
15 | WHITESPACE@[15; 16) | 17 | WHITESPACE@[15; 16) |
16 | USE_ITEM@[16; 55) | 18 | USE_ITEM@[16; 55) |
@@ -18,19 +20,22 @@ FILE@[0; 55) | |||
18 | USE_TREE@[19; 53) | 20 | USE_TREE@[19; 53) |
19 | PATH@[19; 23) | 21 | PATH@[19; 23) |
20 | PATH_SEGMENT@[19; 23) | 22 | PATH_SEGMENT@[19; 23) |
21 | WHITESPACE@[19; 20) | 23 | NAME_REF@[19; 23) |
22 | IDENT@[20; 23) "foo" | 24 | WHITESPACE@[19; 20) |
25 | IDENT@[20; 23) "foo" | ||
23 | COLONCOLON@[23; 25) | 26 | COLONCOLON@[23; 25) |
24 | L_CURLY@[25; 26) | 27 | L_CURLY@[25; 26) |
25 | USE_TREE@[26; 32) | 28 | USE_TREE@[26; 32) |
26 | PATH@[26; 28) | 29 | PATH@[26; 28) |
27 | PATH_SEGMENT@[26; 28) | 30 | PATH_SEGMENT@[26; 28) |
28 | IDENT@[26; 27) "a" | 31 | NAME_REF@[26; 28) |
29 | WHITESPACE@[27; 28) | 32 | IDENT@[26; 27) "a" |
33 | WHITESPACE@[27; 28) | ||
30 | ALIAS@[28; 32) | 34 | ALIAS@[28; 32) |
31 | AS_KW@[28; 30) | 35 | AS_KW@[28; 30) |
32 | WHITESPACE@[30; 31) | 36 | NAME@[30; 32) |
33 | IDENT@[31; 32) "b" | 37 | WHITESPACE@[30; 31) |
38 | IDENT@[31; 32) "b" | ||
34 | COMMA@[32; 33) | 39 | COMMA@[32; 33) |
35 | USE_TREE@[33; 35) | 40 | USE_TREE@[33; 35) |
36 | WHITESPACE@[33; 34) | 41 | WHITESPACE@[33; 34) |
@@ -46,12 +51,14 @@ FILE@[0; 55) | |||
46 | PATH_SEGMENT@[41; 48) | 51 | PATH_SEGMENT@[41; 48) |
47 | WHITESPACE@[41; 42) | 52 | WHITESPACE@[41; 42) |
48 | COLONCOLON@[42; 44) | 53 | COLONCOLON@[42; 44) |
49 | IDENT@[44; 47) "foo" | 54 | NAME_REF@[44; 48) |
50 | WHITESPACE@[47; 48) | 55 | IDENT@[44; 47) "foo" |
56 | WHITESPACE@[47; 48) | ||
51 | ALIAS@[48; 52) | 57 | ALIAS@[48; 52) |
52 | AS_KW@[48; 50) | 58 | AS_KW@[48; 50) |
53 | WHITESPACE@[50; 51) | 59 | NAME@[50; 52) |
54 | IDENT@[51; 52) "x" | 60 | WHITESPACE@[50; 51) |
61 | IDENT@[51; 52) "x" | ||
55 | R_CURLY@[52; 53) | 62 | R_CURLY@[52; 53) |
56 | SEMI@[53; 54) | 63 | SEMI@[53; 54) |
57 | WHITESPACE@[54; 55) | 64 | WHITESPACE@[54; 55) |
diff --git a/tests/data/parser/ok/0016_struct_flavors.txt b/tests/data/parser/ok/0016_struct_flavors.txt index d5d3a0183..15462b9b9 100644 --- a/tests/data/parser/ok/0016_struct_flavors.txt +++ b/tests/data/parser/ok/0016_struct_flavors.txt | |||
@@ -1,35 +1,40 @@ | |||
1 | FILE@[0; 97) | 1 | FILE@[0; 97) |
2 | STRUCT_ITEM@[0; 10) | 2 | STRUCT_ITEM@[0; 10) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 8) |
5 | IDENT@[7; 8) "A" | 5 | WHITESPACE@[6; 7) |
6 | IDENT@[7; 8) "A" | ||
6 | SEMI@[8; 9) | 7 | SEMI@[8; 9) |
7 | WHITESPACE@[9; 10) | 8 | WHITESPACE@[9; 10) |
8 | STRUCT_ITEM@[10; 22) | 9 | STRUCT_ITEM@[10; 22) |
9 | STRUCT_KW@[10; 16) | 10 | STRUCT_KW@[10; 16) |
10 | WHITESPACE@[16; 17) | 11 | NAME@[16; 19) |
11 | IDENT@[17; 18) "B" | 12 | WHITESPACE@[16; 17) |
12 | WHITESPACE@[18; 19) | 13 | IDENT@[17; 18) "B" |
14 | WHITESPACE@[18; 19) | ||
13 | L_CURLY@[19; 20) | 15 | L_CURLY@[19; 20) |
14 | R_CURLY@[20; 21) | 16 | R_CURLY@[20; 21) |
15 | WHITESPACE@[21; 22) | 17 | WHITESPACE@[21; 22) |
16 | STRUCT_ITEM@[22; 35) | 18 | STRUCT_ITEM@[22; 35) |
17 | STRUCT_KW@[22; 28) | 19 | STRUCT_KW@[22; 28) |
18 | WHITESPACE@[28; 29) | 20 | NAME@[28; 30) |
19 | IDENT@[29; 30) "C" | 21 | WHITESPACE@[28; 29) |
22 | IDENT@[29; 30) "C" | ||
20 | L_PAREN@[30; 31) | 23 | L_PAREN@[30; 31) |
21 | R_PAREN@[31; 32) | 24 | R_PAREN@[31; 32) |
22 | SEMI@[32; 33) | 25 | SEMI@[32; 33) |
23 | WHITESPACE@[33; 35) | 26 | WHITESPACE@[33; 35) |
24 | STRUCT_ITEM@[35; 76) | 27 | STRUCT_ITEM@[35; 76) |
25 | STRUCT_KW@[35; 41) | 28 | STRUCT_KW@[35; 41) |
26 | WHITESPACE@[41; 42) | 29 | NAME@[41; 44) |
27 | IDENT@[42; 43) "D" | 30 | WHITESPACE@[41; 42) |
28 | WHITESPACE@[43; 44) | 31 | IDENT@[42; 43) "D" |
32 | WHITESPACE@[43; 44) | ||
29 | L_CURLY@[44; 45) | 33 | L_CURLY@[44; 45) |
30 | NAMED_FIELD@[45; 56) | 34 | NAMED_FIELD@[45; 56) |
31 | WHITESPACE@[45; 50) | 35 | NAME@[45; 51) |
32 | IDENT@[50; 51) "a" | 36 | WHITESPACE@[45; 50) |
37 | IDENT@[50; 51) "a" | ||
33 | COLON@[51; 52) | 38 | COLON@[51; 52) |
34 | WHITESPACE@[52; 53) | 39 | WHITESPACE@[52; 53) |
35 | IDENT@[53; 56) "u32" | 40 | IDENT@[53; 56) "u32" |
@@ -39,7 +44,8 @@ FILE@[0; 97) | |||
39 | WHITESPACE@[57; 62) | 44 | WHITESPACE@[57; 62) |
40 | PUB_KW@[62; 65) | 45 | PUB_KW@[62; 65) |
41 | WHITESPACE@[65; 66) | 46 | WHITESPACE@[65; 66) |
42 | IDENT@[66; 67) "b" | 47 | NAME@[66; 67) |
48 | IDENT@[66; 67) "b" | ||
43 | COLON@[67; 68) | 49 | COLON@[67; 68) |
44 | WHITESPACE@[68; 69) | 50 | WHITESPACE@[68; 69) |
45 | IDENT@[69; 72) "u32" | 51 | IDENT@[69; 72) "u32" |
@@ -48,8 +54,9 @@ FILE@[0; 97) | |||
48 | WHITESPACE@[74; 76) | 54 | WHITESPACE@[74; 76) |
49 | STRUCT_ITEM@[76; 97) | 55 | STRUCT_ITEM@[76; 97) |
50 | STRUCT_KW@[76; 82) | 56 | STRUCT_KW@[76; 82) |
51 | WHITESPACE@[82; 83) | 57 | NAME@[82; 84) |
52 | IDENT@[83; 84) "E" | 58 | WHITESPACE@[82; 83) |
59 | IDENT@[83; 84) "E" | ||
53 | L_PAREN@[84; 85) | 60 | L_PAREN@[84; 85) |
54 | POS_FIELD@[85; 90) | 61 | POS_FIELD@[85; 90) |
55 | VISIBILITY@[85; 89) | 62 | VISIBILITY@[85; 89) |
diff --git a/tests/data/parser/ok/0017_attr_trailing_comma.txt b/tests/data/parser/ok/0017_attr_trailing_comma.txt index 304417ed9..a4a6b8807 100644 --- a/tests/data/parser/ok/0017_attr_trailing_comma.txt +++ b/tests/data/parser/ok/0017_attr_trailing_comma.txt | |||
@@ -13,8 +13,9 @@ FILE@[0; 23) | |||
13 | R_BRACK@[9; 10) | 13 | R_BRACK@[9; 10) |
14 | WHITESPACE@[10; 11) | 14 | WHITESPACE@[10; 11) |
15 | FN_KW@[11; 13) | 15 | FN_KW@[11; 13) |
16 | WHITESPACE@[13; 14) | 16 | NAME@[13; 17) |
17 | IDENT@[14; 17) "foo" | 17 | WHITESPACE@[13; 14) |
18 | IDENT@[14; 17) "foo" | ||
18 | L_PAREN@[17; 18) | 19 | L_PAREN@[17; 18) |
19 | R_PAREN@[18; 19) | 20 | R_PAREN@[18; 19) |
20 | WHITESPACE@[19; 20) | 21 | WHITESPACE@[19; 20) |
diff --git a/tests/data/parser/ok/0018_struct_type_params.txt b/tests/data/parser/ok/0018_struct_type_params.txt index 6df786f42..fe14effce 100644 --- a/tests/data/parser/ok/0018_struct_type_params.txt +++ b/tests/data/parser/ok/0018_struct_type_params.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 290) | 1 | FILE@[0; 290) |
2 | STRUCT_ITEM@[0; 14) | 2 | STRUCT_ITEM@[0; 14) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 9) |
5 | IDENT@[7; 9) "S1" | 5 | WHITESPACE@[6; 7) |
6 | IDENT@[7; 9) "S1" | ||
6 | TYPE_PARAM_LIST@[9; 12) | 7 | TYPE_PARAM_LIST@[9; 12) |
7 | L_ANGLE@[9; 10) | 8 | L_ANGLE@[9; 10) |
8 | TYPE_PARAM@[10; 11) | 9 | TYPE_PARAM@[10; 11) |
@@ -12,8 +13,9 @@ FILE@[0; 290) | |||
12 | WHITESPACE@[13; 14) | 13 | WHITESPACE@[13; 14) |
13 | STRUCT_ITEM@[14; 33) | 14 | STRUCT_ITEM@[14; 33) |
14 | STRUCT_KW@[14; 20) | 15 | STRUCT_KW@[14; 20) |
15 | WHITESPACE@[20; 21) | 16 | NAME@[20; 23) |
16 | IDENT@[21; 23) "S2" | 17 | WHITESPACE@[20; 21) |
18 | IDENT@[21; 23) "S2" | ||
17 | TYPE_PARAM_LIST@[23; 26) | 19 | TYPE_PARAM_LIST@[23; 26) |
18 | L_ANGLE@[23; 24) | 20 | L_ANGLE@[23; 24) |
19 | TYPE_PARAM@[24; 25) | 21 | TYPE_PARAM@[24; 25) |
@@ -27,8 +29,9 @@ FILE@[0; 290) | |||
27 | WHITESPACE@[32; 33) | 29 | WHITESPACE@[32; 33) |
28 | STRUCT_ITEM@[33; 58) | 30 | STRUCT_ITEM@[33; 58) |
29 | STRUCT_KW@[33; 39) | 31 | STRUCT_KW@[33; 39) |
30 | WHITESPACE@[39; 40) | 32 | NAME@[39; 42) |
31 | IDENT@[40; 42) "S3" | 33 | WHITESPACE@[39; 40) |
34 | IDENT@[40; 42) "S3" | ||
32 | TYPE_PARAM_LIST@[42; 46) | 35 | TYPE_PARAM_LIST@[42; 46) |
33 | L_ANGLE@[42; 43) | 36 | L_ANGLE@[42; 43) |
34 | TYPE_PARAM@[43; 44) | 37 | TYPE_PARAM@[43; 44) |
@@ -37,8 +40,9 @@ FILE@[0; 290) | |||
37 | WHITESPACE@[45; 46) | 40 | WHITESPACE@[45; 46) |
38 | L_CURLY@[46; 47) | 41 | L_CURLY@[46; 47) |
39 | NAMED_FIELD@[47; 55) | 42 | NAMED_FIELD@[47; 55) |
40 | WHITESPACE@[47; 48) | 43 | NAME@[47; 49) |
41 | IDENT@[48; 49) "u" | 44 | WHITESPACE@[47; 48) |
45 | IDENT@[48; 49) "u" | ||
42 | COLON@[49; 50) | 46 | COLON@[49; 50) |
43 | WHITESPACE@[50; 51) | 47 | WHITESPACE@[50; 51) |
44 | IDENT@[51; 54) "u32" | 48 | IDENT@[51; 54) "u32" |
@@ -47,8 +51,9 @@ FILE@[0; 290) | |||
47 | WHITESPACE@[56; 58) | 51 | WHITESPACE@[56; 58) |
48 | STRUCT_ITEM@[58; 71) | 52 | STRUCT_ITEM@[58; 71) |
49 | STRUCT_KW@[58; 64) | 53 | STRUCT_KW@[58; 64) |
50 | WHITESPACE@[64; 65) | 54 | NAME@[64; 67) |
51 | IDENT@[65; 67) "S4" | 55 | WHITESPACE@[64; 65) |
56 | IDENT@[65; 67) "S4" | ||
52 | TYPE_PARAM_LIST@[67; 69) | 57 | TYPE_PARAM_LIST@[67; 69) |
53 | L_ANGLE@[67; 68) | 58 | L_ANGLE@[67; 68) |
54 | R_ANGLE@[68; 69) | 59 | R_ANGLE@[68; 69) |
@@ -56,8 +61,9 @@ FILE@[0; 290) | |||
56 | WHITESPACE@[70; 71) | 61 | WHITESPACE@[70; 71) |
57 | STRUCT_ITEM@[71; 86) | 62 | STRUCT_ITEM@[71; 86) |
58 | STRUCT_KW@[71; 77) | 63 | STRUCT_KW@[71; 77) |
59 | WHITESPACE@[77; 78) | 64 | NAME@[77; 80) |
60 | IDENT@[78; 80) "S5" | 65 | WHITESPACE@[77; 78) |
66 | IDENT@[78; 80) "S5" | ||
61 | TYPE_PARAM_LIST@[80; 84) | 67 | TYPE_PARAM_LIST@[80; 84) |
62 | L_ANGLE@[80; 81) | 68 | L_ANGLE@[80; 81) |
63 | LIFETIME_PARAM@[81; 83) | 69 | LIFETIME_PARAM@[81; 83) |
@@ -67,8 +73,9 @@ FILE@[0; 290) | |||
67 | WHITESPACE@[85; 86) | 73 | WHITESPACE@[85; 86) |
68 | STRUCT_ITEM@[86; 102) | 74 | STRUCT_ITEM@[86; 102) |
69 | STRUCT_KW@[86; 92) | 75 | STRUCT_KW@[86; 92) |
70 | WHITESPACE@[92; 93) | 76 | NAME@[92; 95) |
71 | IDENT@[93; 95) "S6" | 77 | WHITESPACE@[92; 93) |
78 | IDENT@[93; 95) "S6" | ||
72 | TYPE_PARAM_LIST@[95; 100) | 79 | TYPE_PARAM_LIST@[95; 100) |
73 | L_ANGLE@[95; 96) | 80 | L_ANGLE@[95; 96) |
74 | LIFETIME_PARAM@[96; 99) | 81 | LIFETIME_PARAM@[96; 99) |
@@ -79,8 +86,9 @@ FILE@[0; 290) | |||
79 | WHITESPACE@[101; 102) | 86 | WHITESPACE@[101; 102) |
80 | STRUCT_ITEM@[102; 121) | 87 | STRUCT_ITEM@[102; 121) |
81 | STRUCT_KW@[102; 108) | 88 | STRUCT_KW@[102; 108) |
82 | WHITESPACE@[108; 109) | 89 | NAME@[108; 111) |
83 | IDENT@[109; 111) "S7" | 90 | WHITESPACE@[108; 109) |
91 | IDENT@[109; 111) "S7" | ||
84 | TYPE_PARAM_LIST@[111; 119) | 92 | TYPE_PARAM_LIST@[111; 119) |
85 | L_ANGLE@[111; 112) | 93 | L_ANGLE@[111; 112) |
86 | LIFETIME_PARAM@[112; 118) | 94 | LIFETIME_PARAM@[112; 118) |
@@ -93,8 +101,9 @@ FILE@[0; 290) | |||
93 | WHITESPACE@[120; 121) | 101 | WHITESPACE@[120; 121) |
94 | STRUCT_ITEM@[121; 143) | 102 | STRUCT_ITEM@[121; 143) |
95 | STRUCT_KW@[121; 127) | 103 | STRUCT_KW@[121; 127) |
96 | WHITESPACE@[127; 128) | 104 | NAME@[127; 130) |
97 | IDENT@[128; 130) "S8" | 105 | WHITESPACE@[127; 128) |
106 | IDENT@[128; 130) "S8" | ||
98 | TYPE_PARAM_LIST@[130; 141) | 107 | TYPE_PARAM_LIST@[130; 141) |
99 | L_ANGLE@[130; 131) | 108 | L_ANGLE@[130; 131) |
100 | LIFETIME_PARAM@[131; 140) | 109 | LIFETIME_PARAM@[131; 140) |
@@ -110,8 +119,9 @@ FILE@[0; 290) | |||
110 | WHITESPACE@[142; 143) | 119 | WHITESPACE@[142; 143) |
111 | STRUCT_ITEM@[143; 167) | 120 | STRUCT_ITEM@[143; 167) |
112 | STRUCT_KW@[143; 149) | 121 | STRUCT_KW@[143; 149) |
113 | WHITESPACE@[149; 150) | 122 | NAME@[149; 152) |
114 | IDENT@[150; 152) "S9" | 123 | WHITESPACE@[149; 150) |
124 | IDENT@[150; 152) "S9" | ||
115 | TYPE_PARAM_LIST@[152; 165) | 125 | TYPE_PARAM_LIST@[152; 165) |
116 | L_ANGLE@[152; 153) | 126 | L_ANGLE@[152; 153) |
117 | LIFETIME_PARAM@[153; 164) | 127 | LIFETIME_PARAM@[153; 164) |
@@ -128,8 +138,9 @@ FILE@[0; 290) | |||
128 | WHITESPACE@[166; 167) | 138 | WHITESPACE@[166; 167) |
129 | STRUCT_ITEM@[167; 184) | 139 | STRUCT_ITEM@[167; 184) |
130 | STRUCT_KW@[167; 173) | 140 | STRUCT_KW@[167; 173) |
131 | WHITESPACE@[173; 174) | 141 | NAME@[173; 177) |
132 | IDENT@[174; 177) "S10" | 142 | WHITESPACE@[173; 174) |
143 | IDENT@[174; 177) "S10" | ||
133 | TYPE_PARAM_LIST@[177; 182) | 144 | TYPE_PARAM_LIST@[177; 182) |
134 | L_ANGLE@[177; 178) | 145 | L_ANGLE@[177; 178) |
135 | LIFETIME_PARAM@[178; 180) | 146 | LIFETIME_PARAM@[178; 180) |
@@ -140,8 +151,9 @@ FILE@[0; 290) | |||
140 | WHITESPACE@[183; 184) | 151 | WHITESPACE@[183; 184) |
141 | STRUCT_ITEM@[184; 204) | 152 | STRUCT_ITEM@[184; 204) |
142 | STRUCT_KW@[184; 190) | 153 | STRUCT_KW@[184; 190) |
143 | WHITESPACE@[190; 191) | 154 | NAME@[190; 194) |
144 | IDENT@[191; 194) "S11" | 155 | WHITESPACE@[190; 191) |
156 | IDENT@[191; 194) "S11" | ||
145 | TYPE_PARAM_LIST@[194; 202) | 157 | TYPE_PARAM_LIST@[194; 202) |
146 | L_ANGLE@[194; 195) | 158 | L_ANGLE@[194; 195) |
147 | LIFETIME_PARAM@[195; 197) | 159 | LIFETIME_PARAM@[195; 197) |
@@ -155,8 +167,9 @@ FILE@[0; 290) | |||
155 | WHITESPACE@[203; 204) | 167 | WHITESPACE@[203; 204) |
156 | STRUCT_ITEM@[204; 235) | 168 | STRUCT_ITEM@[204; 235) |
157 | STRUCT_KW@[204; 210) | 169 | STRUCT_KW@[204; 210) |
158 | WHITESPACE@[210; 211) | 170 | NAME@[210; 214) |
159 | IDENT@[211; 214) "S12" | 171 | WHITESPACE@[210; 211) |
172 | IDENT@[211; 214) "S12" | ||
160 | TYPE_PARAM_LIST@[214; 232) | 173 | TYPE_PARAM_LIST@[214; 232) |
161 | L_ANGLE@[214; 215) | 174 | L_ANGLE@[214; 215) |
162 | LIFETIME_PARAM@[215; 222) | 175 | LIFETIME_PARAM@[215; 222) |
@@ -178,8 +191,9 @@ FILE@[0; 290) | |||
178 | WHITESPACE@[233; 235) | 191 | WHITESPACE@[233; 235) |
179 | STRUCT_ITEM@[235; 250) | 192 | STRUCT_ITEM@[235; 250) |
180 | STRUCT_KW@[235; 241) | 193 | STRUCT_KW@[235; 241) |
181 | WHITESPACE@[241; 242) | 194 | NAME@[241; 245) |
182 | IDENT@[242; 245) "S13" | 195 | WHITESPACE@[241; 242) |
196 | IDENT@[242; 245) "S13" | ||
183 | TYPE_PARAM_LIST@[245; 248) | 197 | TYPE_PARAM_LIST@[245; 248) |
184 | L_ANGLE@[245; 246) | 198 | L_ANGLE@[245; 246) |
185 | TYPE_PARAM@[246; 247) | 199 | TYPE_PARAM@[246; 247) |
@@ -189,8 +203,9 @@ FILE@[0; 290) | |||
189 | WHITESPACE@[249; 250) | 203 | WHITESPACE@[249; 250) |
190 | STRUCT_ITEM@[250; 268) | 204 | STRUCT_ITEM@[250; 268) |
191 | STRUCT_KW@[250; 256) | 205 | STRUCT_KW@[250; 256) |
192 | WHITESPACE@[256; 257) | 206 | NAME@[256; 260) |
193 | IDENT@[257; 260) "S14" | 207 | WHITESPACE@[256; 257) |
208 | IDENT@[257; 260) "S14" | ||
194 | TYPE_PARAM_LIST@[260; 266) | 209 | TYPE_PARAM_LIST@[260; 266) |
195 | L_ANGLE@[260; 261) | 210 | L_ANGLE@[260; 261) |
196 | TYPE_PARAM@[261; 262) | 211 | TYPE_PARAM@[261; 262) |
@@ -204,8 +219,9 @@ FILE@[0; 290) | |||
204 | WHITESPACE@[267; 268) | 219 | WHITESPACE@[267; 268) |
205 | STRUCT_ITEM@[268; 290) | 220 | STRUCT_ITEM@[268; 290) |
206 | STRUCT_KW@[268; 274) | 221 | STRUCT_KW@[268; 274) |
207 | WHITESPACE@[274; 275) | 222 | NAME@[274; 278) |
208 | IDENT@[275; 278) "S15" | 223 | WHITESPACE@[274; 275) |
224 | IDENT@[275; 278) "S15" | ||
209 | TYPE_PARAM_LIST@[278; 288) | 225 | TYPE_PARAM_LIST@[278; 288) |
210 | L_ANGLE@[278; 279) | 226 | L_ANGLE@[278; 279) |
211 | LIFETIME_PARAM@[279; 281) | 227 | LIFETIME_PARAM@[279; 281) |
diff --git a/tests/data/parser/ok/0019_enums.txt b/tests/data/parser/ok/0019_enums.txt index dfb8e1f0c..bad12bee3 100644 --- a/tests/data/parser/ok/0019_enums.txt +++ b/tests/data/parser/ok/0019_enums.txt | |||
@@ -1,17 +1,19 @@ | |||
1 | FILE@[0; 182) | 1 | FILE@[0; 182) |
2 | ENUM_ITEM@[0; 13) | 2 | ENUM_ITEM@[0; 13) |
3 | ENUM_KW@[0; 4) | 3 | ENUM_KW@[0; 4) |
4 | WHITESPACE@[4; 5) | 4 | NAME@[4; 8) |
5 | IDENT@[5; 7) "E1" | 5 | WHITESPACE@[4; 5) |
6 | WHITESPACE@[7; 8) | 6 | IDENT@[5; 7) "E1" |
7 | WHITESPACE@[7; 8) | ||
7 | L_CURLY@[8; 9) | 8 | L_CURLY@[8; 9) |
8 | WHITESPACE@[9; 10) | 9 | WHITESPACE@[9; 10) |
9 | R_CURLY@[10; 11) | 10 | R_CURLY@[10; 11) |
10 | WHITESPACE@[11; 13) | 11 | WHITESPACE@[11; 13) |
11 | ENUM_ITEM@[13; 29) | 12 | ENUM_ITEM@[13; 29) |
12 | ENUM_KW@[13; 17) | 13 | ENUM_KW@[13; 17) |
13 | WHITESPACE@[17; 18) | 14 | NAME@[17; 20) |
14 | IDENT@[18; 20) "E2" | 15 | WHITESPACE@[17; 18) |
16 | IDENT@[18; 20) "E2" | ||
15 | TYPE_PARAM_LIST@[20; 24) | 17 | TYPE_PARAM_LIST@[20; 24) |
16 | L_ANGLE@[20; 21) | 18 | L_ANGLE@[20; 21) |
17 | TYPE_PARAM@[21; 22) | 19 | TYPE_PARAM@[21; 22) |
@@ -24,9 +26,10 @@ FILE@[0; 182) | |||
24 | WHITESPACE@[27; 29) | 26 | WHITESPACE@[27; 29) |
25 | ENUM_ITEM@[29; 48) | 27 | ENUM_ITEM@[29; 48) |
26 | ENUM_KW@[29; 33) | 28 | ENUM_KW@[29; 33) |
27 | WHITESPACE@[33; 34) | 29 | NAME@[33; 37) |
28 | IDENT@[34; 36) "E3" | 30 | WHITESPACE@[33; 34) |
29 | WHITESPACE@[36; 37) | 31 | IDENT@[34; 36) "E3" |
32 | WHITESPACE@[36; 37) | ||
30 | L_CURLY@[37; 38) | 33 | L_CURLY@[37; 38) |
31 | ENUM_VARIANT@[38; 45) | 34 | ENUM_VARIANT@[38; 45) |
32 | WHITESPACE@[38; 43) | 35 | WHITESPACE@[38; 43) |
@@ -36,9 +39,10 @@ FILE@[0; 182) | |||
36 | WHITESPACE@[46; 48) | 39 | WHITESPACE@[46; 48) |
37 | ENUM_ITEM@[48; 68) | 40 | ENUM_ITEM@[48; 68) |
38 | ENUM_KW@[48; 52) | 41 | ENUM_KW@[48; 52) |
39 | WHITESPACE@[52; 53) | 42 | NAME@[52; 56) |
40 | IDENT@[53; 55) "E4" | 43 | WHITESPACE@[52; 53) |
41 | WHITESPACE@[55; 56) | 44 | IDENT@[53; 55) "E4" |
45 | WHITESPACE@[55; 56) | ||
42 | L_CURLY@[56; 57) | 46 | L_CURLY@[56; 57) |
43 | ENUM_VARIANT@[57; 63) | 47 | ENUM_VARIANT@[57; 63) |
44 | WHITESPACE@[57; 62) | 48 | WHITESPACE@[57; 62) |
@@ -49,9 +53,10 @@ FILE@[0; 182) | |||
49 | WHITESPACE@[66; 68) | 53 | WHITESPACE@[66; 68) |
50 | ENUM_ITEM@[68; 182) | 54 | ENUM_ITEM@[68; 182) |
51 | ENUM_KW@[68; 72) | 55 | ENUM_KW@[68; 72) |
52 | WHITESPACE@[72; 73) | 56 | NAME@[72; 76) |
53 | IDENT@[73; 75) "E5" | 57 | WHITESPACE@[72; 73) |
54 | WHITESPACE@[75; 76) | 58 | IDENT@[73; 75) "E5" |
59 | WHITESPACE@[75; 76) | ||
55 | L_CURLY@[76; 77) | 60 | L_CURLY@[76; 77) |
56 | ENUM_VARIANT@[77; 83) | 61 | ENUM_VARIANT@[77; 83) |
57 | WHITESPACE@[77; 82) | 62 | WHITESPACE@[77; 82) |
@@ -72,8 +77,9 @@ FILE@[0; 182) | |||
72 | WHITESPACE@[102; 103) | 77 | WHITESPACE@[102; 103) |
73 | L_CURLY@[103; 104) | 78 | L_CURLY@[103; 104) |
74 | NAMED_FIELD@[104; 119) | 79 | NAMED_FIELD@[104; 119) |
75 | WHITESPACE@[104; 113) | 80 | NAME@[104; 114) |
76 | IDENT@[113; 114) "a" | 81 | WHITESPACE@[104; 113) |
82 | IDENT@[113; 114) "a" | ||
77 | COLON@[114; 115) | 83 | COLON@[114; 115) |
78 | WHITESPACE@[115; 116) | 84 | WHITESPACE@[115; 116) |
79 | IDENT@[116; 119) "u32" | 85 | IDENT@[116; 119) "u32" |
@@ -83,7 +89,8 @@ FILE@[0; 182) | |||
83 | WHITESPACE@[120; 129) | 89 | WHITESPACE@[120; 129) |
84 | PUB_KW@[129; 132) | 90 | PUB_KW@[129; 132) |
85 | WHITESPACE@[132; 133) | 91 | WHITESPACE@[132; 133) |
86 | IDENT@[133; 134) "b" | 92 | NAME@[133; 134) |
93 | IDENT@[133; 134) "b" | ||
87 | COLON@[134; 135) | 94 | COLON@[134; 135) |
88 | WHITESPACE@[135; 136) | 95 | WHITESPACE@[135; 136) |
89 | IDENT@[136; 139) "f64" | 96 | IDENT@[136; 139) "f64" |
diff --git a/tests/data/parser/ok/0020_type_param_bounds.txt b/tests/data/parser/ok/0020_type_param_bounds.txt index 6f65d150a..7132eec6e 100644 --- a/tests/data/parser/ok/0020_type_param_bounds.txt +++ b/tests/data/parser/ok/0020_type_param_bounds.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 200) | 1 | FILE@[0; 200) |
2 | STRUCT_ITEM@[0; 13) | 2 | STRUCT_ITEM@[0; 13) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 8) |
5 | IDENT@[7; 8) "A" | 5 | WHITESPACE@[6; 7) |
6 | IDENT@[7; 8) "A" | ||
6 | TYPE_PARAM_LIST@[8; 11) | 7 | TYPE_PARAM_LIST@[8; 11) |
7 | L_ANGLE@[8; 9) | 8 | L_ANGLE@[8; 9) |
8 | TYPE_PARAM@[9; 10) | 9 | TYPE_PARAM@[9; 10) |
@@ -12,8 +13,9 @@ FILE@[0; 200) | |||
12 | WHITESPACE@[12; 13) | 13 | WHITESPACE@[12; 13) |
13 | STRUCT_ITEM@[13; 27) | 14 | STRUCT_ITEM@[13; 27) |
14 | STRUCT_KW@[13; 19) | 15 | STRUCT_KW@[13; 19) |
15 | WHITESPACE@[19; 20) | 16 | NAME@[19; 21) |
16 | IDENT@[20; 21) "B" | 17 | WHITESPACE@[19; 20) |
18 | IDENT@[20; 21) "B" | ||
17 | TYPE_PARAM_LIST@[21; 25) | 19 | TYPE_PARAM_LIST@[21; 25) |
18 | L_ANGLE@[21; 22) | 20 | L_ANGLE@[21; 22) |
19 | TYPE_PARAM@[22; 24) | 21 | TYPE_PARAM@[22; 24) |
@@ -24,8 +26,9 @@ FILE@[0; 200) | |||
24 | WHITESPACE@[26; 27) | 26 | WHITESPACE@[26; 27) |
25 | STRUCT_ITEM@[27; 44) | 27 | STRUCT_ITEM@[27; 44) |
26 | STRUCT_KW@[27; 33) | 28 | STRUCT_KW@[27; 33) |
27 | WHITESPACE@[33; 34) | 29 | NAME@[33; 35) |
28 | IDENT@[34; 35) "C" | 30 | WHITESPACE@[33; 34) |
31 | IDENT@[34; 35) "C" | ||
29 | TYPE_PARAM_LIST@[35; 42) | 32 | TYPE_PARAM_LIST@[35; 42) |
30 | L_ANGLE@[35; 36) | 33 | L_ANGLE@[35; 36) |
31 | TYPE_PARAM@[36; 41) | 34 | TYPE_PARAM@[36; 41) |
@@ -38,8 +41,9 @@ FILE@[0; 200) | |||
38 | WHITESPACE@[43; 44) | 41 | WHITESPACE@[43; 44) |
39 | STRUCT_ITEM@[44; 64) | 42 | STRUCT_ITEM@[44; 64) |
40 | STRUCT_KW@[44; 50) | 43 | STRUCT_KW@[44; 50) |
41 | WHITESPACE@[50; 51) | 44 | NAME@[50; 52) |
42 | IDENT@[51; 52) "D" | 45 | WHITESPACE@[50; 51) |
46 | IDENT@[51; 52) "D" | ||
43 | TYPE_PARAM_LIST@[52; 62) | 47 | TYPE_PARAM_LIST@[52; 62) |
44 | L_ANGLE@[52; 53) | 48 | L_ANGLE@[52; 53) |
45 | TYPE_PARAM@[53; 61) | 49 | TYPE_PARAM@[53; 61) |
@@ -55,8 +59,9 @@ FILE@[0; 200) | |||
55 | WHITESPACE@[63; 64) | 59 | WHITESPACE@[63; 64) |
56 | STRUCT_ITEM@[64; 87) | 60 | STRUCT_ITEM@[64; 87) |
57 | STRUCT_KW@[64; 70) | 61 | STRUCT_KW@[64; 70) |
58 | WHITESPACE@[70; 71) | 62 | NAME@[70; 72) |
59 | IDENT@[71; 72) "E" | 63 | WHITESPACE@[70; 71) |
64 | IDENT@[71; 72) "E" | ||
60 | TYPE_PARAM_LIST@[72; 85) | 65 | TYPE_PARAM_LIST@[72; 85) |
61 | L_ANGLE@[72; 73) | 66 | L_ANGLE@[72; 73) |
62 | TYPE_PARAM@[73; 84) | 67 | TYPE_PARAM@[73; 84) |
@@ -74,8 +79,9 @@ FILE@[0; 200) | |||
74 | WHITESPACE@[86; 87) | 79 | WHITESPACE@[86; 87) |
75 | STRUCT_ITEM@[87; 117) | 80 | STRUCT_ITEM@[87; 117) |
76 | STRUCT_KW@[87; 93) | 81 | STRUCT_KW@[87; 93) |
77 | WHITESPACE@[93; 94) | 82 | NAME@[93; 95) |
78 | IDENT@[94; 95) "F" | 83 | WHITESPACE@[93; 94) |
84 | IDENT@[94; 95) "F" | ||
79 | TYPE_PARAM_LIST@[95; 115) | 85 | TYPE_PARAM_LIST@[95; 115) |
80 | L_ANGLE@[95; 96) | 86 | L_ANGLE@[95; 96) |
81 | TYPE_PARAM@[96; 114) | 87 | TYPE_PARAM@[96; 114) |
@@ -91,15 +97,17 @@ FILE@[0; 200) | |||
91 | PLUS@[107; 108) | 97 | PLUS@[107; 108) |
92 | PATH@[108; 114) | 98 | PATH@[108; 114) |
93 | PATH_SEGMENT@[108; 114) | 99 | PATH_SEGMENT@[108; 114) |
94 | WHITESPACE@[108; 109) | 100 | NAME_REF@[108; 114) |
95 | IDENT@[109; 114) "Clone" | 101 | WHITESPACE@[108; 109) |
102 | IDENT@[109; 114) "Clone" | ||
96 | R_ANGLE@[114; 115) | 103 | R_ANGLE@[114; 115) |
97 | SEMI@[115; 116) | 104 | SEMI@[115; 116) |
98 | WHITESPACE@[116; 117) | 105 | WHITESPACE@[116; 117) |
99 | STRUCT_ITEM@[117; 144) | 106 | STRUCT_ITEM@[117; 144) |
100 | STRUCT_KW@[117; 123) | 107 | STRUCT_KW@[117; 123) |
101 | WHITESPACE@[123; 124) | 108 | NAME@[123; 125) |
102 | IDENT@[124; 125) "G" | 109 | WHITESPACE@[123; 124) |
110 | IDENT@[124; 125) "G" | ||
103 | TYPE_PARAM_LIST@[125; 142) | 111 | TYPE_PARAM_LIST@[125; 142) |
104 | L_ANGLE@[125; 126) | 112 | L_ANGLE@[125; 126) |
105 | TYPE_PARAM@[126; 141) | 113 | TYPE_PARAM@[126; 141) |
@@ -107,21 +115,24 @@ FILE@[0; 200) | |||
107 | COLON@[127; 128) | 115 | COLON@[127; 128) |
108 | PATH@[128; 135) | 116 | PATH@[128; 135) |
109 | PATH_SEGMENT@[128; 135) | 117 | PATH_SEGMENT@[128; 135) |
110 | WHITESPACE@[128; 129) | 118 | NAME_REF@[128; 135) |
111 | IDENT@[129; 134) "Clone" | 119 | WHITESPACE@[128; 129) |
112 | WHITESPACE@[134; 135) | 120 | IDENT@[129; 134) "Clone" |
121 | WHITESPACE@[134; 135) | ||
113 | PLUS@[135; 136) | 122 | PLUS@[135; 136) |
114 | PATH@[136; 141) | 123 | PATH@[136; 141) |
115 | PATH_SEGMENT@[136; 141) | 124 | PATH_SEGMENT@[136; 141) |
116 | WHITESPACE@[136; 137) | 125 | NAME_REF@[136; 141) |
117 | IDENT@[137; 141) "Copy" | 126 | WHITESPACE@[136; 137) |
127 | IDENT@[137; 141) "Copy" | ||
118 | R_ANGLE@[141; 142) | 128 | R_ANGLE@[141; 142) |
119 | SEMI@[142; 143) | 129 | SEMI@[142; 143) |
120 | WHITESPACE@[143; 144) | 130 | WHITESPACE@[143; 144) |
121 | STRUCT_ITEM@[144; 181) | 131 | STRUCT_ITEM@[144; 181) |
122 | STRUCT_KW@[144; 150) | 132 | STRUCT_KW@[144; 150) |
123 | WHITESPACE@[150; 151) | 133 | NAME@[150; 152) |
124 | IDENT@[151; 152) "H" | 134 | WHITESPACE@[150; 151) |
135 | IDENT@[151; 152) "H" | ||
125 | TYPE_PARAM_LIST@[152; 179) | 136 | TYPE_PARAM_LIST@[152; 179) |
126 | L_ANGLE@[152; 153) | 137 | L_ANGLE@[152; 153) |
127 | TYPE_PARAM@[153; 178) | 138 | TYPE_PARAM@[153; 178) |
@@ -131,8 +142,9 @@ FILE@[0; 200) | |||
131 | PATH_SEGMENT@[155; 162) | 142 | PATH_SEGMENT@[155; 162) |
132 | WHITESPACE@[155; 156) | 143 | WHITESPACE@[155; 156) |
133 | COLONCOLON@[156; 158) | 144 | COLONCOLON@[156; 158) |
134 | IDENT@[158; 161) "Foo" | 145 | NAME_REF@[158; 162) |
135 | WHITESPACE@[161; 162) | 146 | IDENT@[158; 161) "Foo" |
147 | WHITESPACE@[161; 162) | ||
136 | PLUS@[162; 163) | 148 | PLUS@[162; 163) |
137 | PATH@[163; 174) | 149 | PATH@[163; 174) |
138 | PATH@[163; 168) | 150 | PATH@[163; 168) |
@@ -141,8 +153,9 @@ FILE@[0; 200) | |||
141 | SELF_KW@[164; 168) | 153 | SELF_KW@[164; 168) |
142 | COLONCOLON@[168; 170) | 154 | COLONCOLON@[168; 170) |
143 | PATH_SEGMENT@[170; 174) | 155 | PATH_SEGMENT@[170; 174) |
144 | IDENT@[170; 173) "Bar" | 156 | NAME_REF@[170; 174) |
145 | WHITESPACE@[173; 174) | 157 | IDENT@[170; 173) "Bar" |
158 | WHITESPACE@[173; 174) | ||
146 | PLUS@[174; 175) | 159 | PLUS@[174; 175) |
147 | WHITESPACE@[175; 176) | 160 | WHITESPACE@[175; 176) |
148 | LIFETIME@[176; 178) "'a" | 161 | LIFETIME@[176; 178) "'a" |
@@ -151,8 +164,9 @@ FILE@[0; 200) | |||
151 | WHITESPACE@[180; 181) | 164 | WHITESPACE@[180; 181) |
152 | STRUCT_ITEM@[181; 200) | 165 | STRUCT_ITEM@[181; 200) |
153 | STRUCT_KW@[181; 187) | 166 | STRUCT_KW@[181; 187) |
154 | WHITESPACE@[187; 188) | 167 | NAME@[187; 189) |
155 | IDENT@[188; 189) "I" | 168 | WHITESPACE@[187; 188) |
169 | IDENT@[188; 189) "I" | ||
156 | TYPE_PARAM_LIST@[189; 198) | 170 | TYPE_PARAM_LIST@[189; 198) |
157 | L_ANGLE@[189; 190) | 171 | L_ANGLE@[189; 190) |
158 | TYPE_PARAM@[190; 192) | 172 | TYPE_PARAM@[190; 192) |
diff --git a/tests/data/parser/ok/0021_extern_fn.txt b/tests/data/parser/ok/0021_extern_fn.txt index 43575bdf3..8ed7f2a25 100644 --- a/tests/data/parser/ok/0021_extern_fn.txt +++ b/tests/data/parser/ok/0021_extern_fn.txt | |||
@@ -4,8 +4,9 @@ FILE@[0; 71) | |||
4 | EXTERN_KW@[0; 6) | 4 | EXTERN_KW@[0; 6) |
5 | WHITESPACE@[6; 7) | 5 | WHITESPACE@[6; 7) |
6 | FN_KW@[7; 9) | 6 | FN_KW@[7; 9) |
7 | WHITESPACE@[9; 10) | 7 | NAME@[9; 13) |
8 | IDENT@[10; 13) "foo" | 8 | WHITESPACE@[9; 10) |
9 | IDENT@[10; 13) "foo" | ||
9 | L_PAREN@[13; 14) | 10 | L_PAREN@[13; 14) |
10 | R_PAREN@[14; 15) | 11 | R_PAREN@[14; 15) |
11 | WHITESPACE@[15; 16) | 12 | WHITESPACE@[15; 16) |
@@ -20,8 +21,9 @@ FILE@[0; 71) | |||
20 | STRING@[28; 31) | 21 | STRING@[28; 31) |
21 | WHITESPACE@[31; 32) | 22 | WHITESPACE@[31; 32) |
22 | FN_KW@[32; 34) | 23 | FN_KW@[32; 34) |
23 | WHITESPACE@[34; 35) | 24 | NAME@[34; 38) |
24 | IDENT@[35; 38) "bar" | 25 | WHITESPACE@[34; 35) |
26 | IDENT@[35; 38) "bar" | ||
25 | L_PAREN@[38; 39) | 27 | L_PAREN@[38; 39) |
26 | R_PAREN@[39; 40) | 28 | R_PAREN@[39; 40) |
27 | WHITESPACE@[40; 41) | 29 | WHITESPACE@[40; 41) |
@@ -36,8 +38,9 @@ FILE@[0; 71) | |||
36 | RAW_STRING@[53; 57) | 38 | RAW_STRING@[53; 57) |
37 | WHITESPACE@[57; 58) | 39 | WHITESPACE@[57; 58) |
38 | FN_KW@[58; 60) | 40 | FN_KW@[58; 60) |
39 | WHITESPACE@[60; 61) | 41 | NAME@[60; 64) |
40 | IDENT@[61; 64) "baz" | 42 | WHITESPACE@[60; 61) |
43 | IDENT@[61; 64) "baz" | ||
41 | L_PAREN@[64; 65) | 44 | L_PAREN@[64; 65) |
42 | R_PAREN@[65; 66) | 45 | R_PAREN@[65; 66) |
43 | WHITESPACE@[66; 67) | 46 | WHITESPACE@[66; 67) |
diff --git a/tests/data/parser/ok/0023_static_items.txt b/tests/data/parser/ok/0023_static_items.txt index 7cd2228fa..8872520c5 100644 --- a/tests/data/parser/ok/0023_static_items.txt +++ b/tests/data/parser/ok/0023_static_items.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 47) | 1 | FILE@[0; 47) |
2 | STATIC_ITEM@[0; 21) | 2 | STATIC_ITEM@[0; 21) |
3 | STATIC_KW@[0; 6) | 3 | STATIC_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | NAME@[6; 10) |
5 | IDENT@[7; 10) "FOO" | 5 | WHITESPACE@[6; 7) |
6 | IDENT@[7; 10) "FOO" | ||
6 | COLON@[10; 11) | 7 | COLON@[10; 11) |
7 | WHITESPACE@[11; 12) | 8 | WHITESPACE@[11; 12) |
8 | IDENT@[12; 15) "u32" | 9 | IDENT@[12; 15) "u32" |
@@ -17,8 +18,9 @@ FILE@[0; 47) | |||
17 | STATIC_KW@[21; 27) | 18 | STATIC_KW@[21; 27) |
18 | WHITESPACE@[27; 28) | 19 | WHITESPACE@[27; 28) |
19 | MUT_KW@[28; 31) | 20 | MUT_KW@[28; 31) |
20 | WHITESPACE@[31; 32) | 21 | NAME@[31; 35) |
21 | IDENT@[32; 35) "BAR" | 22 | WHITESPACE@[31; 32) |
23 | IDENT@[32; 35) "BAR" | ||
22 | COLON@[35; 36) | 24 | COLON@[35; 36) |
23 | WHITESPACE@[36; 37) | 25 | WHITESPACE@[36; 37) |
24 | IDENT@[37; 40) "i32" | 26 | IDENT@[37; 40) "i32" |
diff --git a/tests/data/parser/ok/0024_const_item.txt b/tests/data/parser/ok/0024_const_item.txt index 588e001f5..0f31d19d3 100644 --- a/tests/data/parser/ok/0024_const_item.txt +++ b/tests/data/parser/ok/0024_const_item.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 46) | 1 | FILE@[0; 46) |
2 | CONST_ITEM@[0; 21) | 2 | CONST_ITEM@[0; 21) |
3 | CONST_KW@[0; 5) | 3 | CONST_KW@[0; 5) |
4 | WHITESPACE@[5; 6) | 4 | NAME@[5; 9) |
5 | IDENT@[6; 9) "FOO" | 5 | WHITESPACE@[5; 6) |
6 | IDENT@[6; 9) "FOO" | ||
6 | COLON@[9; 10) | 7 | COLON@[9; 10) |
7 | WHITESPACE@[10; 11) | 8 | WHITESPACE@[10; 11) |
8 | IDENT@[11; 14) "u32" | 9 | IDENT@[11; 14) "u32" |
@@ -17,8 +18,9 @@ FILE@[0; 46) | |||
17 | CONST_KW@[21; 26) | 18 | CONST_KW@[21; 26) |
18 | WHITESPACE@[26; 27) | 19 | WHITESPACE@[26; 27) |
19 | MUT_KW@[27; 30) | 20 | MUT_KW@[27; 30) |
20 | WHITESPACE@[30; 31) | 21 | NAME@[30; 34) |
21 | IDENT@[31; 34) "BAR" | 22 | WHITESPACE@[30; 31) |
23 | IDENT@[31; 34) "BAR" | ||
22 | COLON@[34; 35) | 24 | COLON@[34; 35) |
23 | WHITESPACE@[35; 36) | 25 | WHITESPACE@[35; 36) |
24 | IDENT@[36; 39) "u32" | 26 | IDENT@[36; 39) "u32" |
diff --git a/tests/testutils/src/lib.rs b/tests/testutils/src/lib.rs index d181e455b..b50e70849 100644 --- a/tests/testutils/src/lib.rs +++ b/tests/testutils/src/lib.rs | |||
@@ -73,16 +73,24 @@ fn test_from_dir(dir: &Path) -> Vec<PathBuf> { | |||
73 | acc | 73 | acc |
74 | } | 74 | } |
75 | 75 | ||
76 | const REWRITE: bool = false; | ||
77 | |||
76 | fn print_difference(expected: &str, actual: &str, path: &Path) { | 78 | fn print_difference(expected: &str, actual: &str, path: &Path) { |
77 | let dir = project_dir(); | 79 | let dir = project_dir(); |
78 | let path = path.strip_prefix(&dir).unwrap_or_else(|_| path); | 80 | let path = path.strip_prefix(&dir).unwrap_or_else(|_| path); |
79 | if expected.trim() == actual.trim() { | 81 | if expected.trim() == actual.trim() { |
80 | println!("whitespace difference, rewriting"); | 82 | println!("whitespace difference, rewriting"); |
83 | println!("file: {}\n", path.display()); | ||
84 | file::put_text(path, actual).unwrap(); | ||
85 | return; | ||
86 | } | ||
87 | if REWRITE { | ||
88 | println!("rewriting {}", path.display()); | ||
81 | file::put_text(path, actual).unwrap(); | 89 | file::put_text(path, actual).unwrap(); |
82 | } else { | 90 | return; |
83 | let changeset = Changeset::new(actual, expected, "\n"); | ||
84 | print!("{}", changeset); | ||
85 | } | 91 | } |
92 | let changeset = Changeset::new(actual, expected, "\n"); | ||
93 | print!("{}", changeset); | ||
86 | println!("file: {}\n", path.display()); | 94 | println!("file: {}\n", path.display()); |
87 | panic!("Comparison failed") | 95 | panic!("Comparison failed") |
88 | } | 96 | } |