aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2018-01-28 20:14:24 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2018-01-28 20:14:24 +0000
commit94caa9d3a2c645df5c0f2d332bc001831119484d (patch)
tree8590725d71429399cf43565879e8a444f19f2113 /tests
parentab81e4c7b4383a153145752059be59e17571fad3 (diff)
parent55e2a478be04bdaba164ea92160e52a6fea5abe5 (diff)
Merge #31
31: Parse enums r=matklad a=matklad
Diffstat (limited to 'tests')
-rw-r--r--tests/data/parser/err/0000_struct_field_missing_comma.txt10
-rw-r--r--tests/data/parser/err/0001_item_recovery_in_file.txt6
-rw-r--r--tests/data/parser/err/0003_C++_semicolon.txt10
-rw-r--r--tests/data/parser/err/0004_use_path_bad_segment.txt2
-rw-r--r--tests/data/parser/err/0005_attribute_recover.txt10
-rw-r--r--tests/data/parser/err/0006_named_field_recovery.txt14
-rw-r--r--tests/data/parser/err/0007_stray_curly_in_file.txt4
-rw-r--r--tests/data/parser/err/0008_item_block_recovery.txt10
-rw-r--r--tests/data/parser/err/0009_broken_struct_type_parameter.txt8
-rw-r--r--tests/data/parser/ok/0001_struct_item.txt2
-rw-r--r--tests/data/parser/ok/0002_struct_item_field.txt6
-rw-r--r--tests/data/parser/ok/0005_fn_item.txt2
-rw-r--r--tests/data/parser/ok/0006_inner_attributes.txt40
-rw-r--r--tests/data/parser/ok/0007_extern_crate.txt6
-rw-r--r--tests/data/parser/ok/0008_mod_item.txt18
-rw-r--r--tests/data/parser/ok/0009_use_item.txt4
-rw-r--r--tests/data/parser/ok/0010_use_path_segments.txt12
-rw-r--r--tests/data/parser/ok/0011_outer_attribute.txt8
-rw-r--r--tests/data/parser/ok/0012_visibility.txt16
-rw-r--r--tests/data/parser/ok/0013_use_path_self_super.txt8
-rw-r--r--tests/data/parser/ok/0014_use_tree.txt12
-rw-r--r--tests/data/parser/ok/0015_use_tree.txt14
-rw-r--r--tests/data/parser/ok/0016_struct_flavors.txt22
-rw-r--r--tests/data/parser/ok/0017_attr_trailing_comma.txt6
-rw-r--r--tests/data/parser/ok/0018_struct_type_params.txt86
-rw-r--r--tests/data/parser/ok/0019_enums.rs25
-rw-r--r--tests/data/parser/ok/0019_enums.txt118
27 files changed, 311 insertions, 168 deletions
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 f59205f55..d94b4fd9e 100644
--- a/tests/data/parser/err/0000_struct_field_missing_comma.txt
+++ b/tests/data/parser/err/0000_struct_field_missing_comma.txt
@@ -2,21 +2,21 @@ 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 WHITESPACE@[6; 7)
5 IDENT@[7; 8) 5 IDENT@[7; 8) "S"
6 WHITESPACE@[8; 9) 6 WHITESPACE@[8; 9)
7 L_CURLY@[9; 10) 7 L_CURLY@[9; 10)
8 NAMED_FIELD@[10; 26) 8 NAMED_FIELD@[10; 26)
9 WHITESPACE@[10; 15) 9 WHITESPACE@[10; 15)
10 IDENT@[15; 16) 10 IDENT@[15; 16) "a"
11 COLON@[16; 17) 11 COLON@[16; 17)
12 WHITESPACE@[17; 18) 12 WHITESPACE@[17; 18)
13 IDENT@[18; 21) 13 IDENT@[18; 21) "u32"
14 WHITESPACE@[21; 26) 14 WHITESPACE@[21; 26)
15 err: `expected COMMA` 15 err: `expected COMMA`
16 NAMED_FIELD@[26; 33) 16 NAMED_FIELD@[26; 33)
17 IDENT@[26; 27) 17 IDENT@[26; 27) "b"
18 COLON@[27; 28) 18 COLON@[27; 28)
19 WHITESPACE@[28; 29) 19 WHITESPACE@[28; 29)
20 IDENT@[29; 32) 20 IDENT@[29; 32) "u32"
21 WHITESPACE@[32; 33) 21 WHITESPACE@[32; 33)
22 R_CURLY@[33; 34) 22 R_CURLY@[33; 34)
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 0ac741aa8..ac0760695 100644
--- a/tests/data/parser/err/0001_item_recovery_in_file.txt
+++ b/tests/data/parser/err/0001_item_recovery_in_file.txt
@@ -1,16 +1,16 @@
1FILE@[0; 21) 1FILE@[0; 21)
2 ERROR@[0; 3) 2 ERROR@[0; 3)
3 err: `expected item` 3 err: `expected item`
4 IDENT@[0; 2) 4 IDENT@[0; 2) "if"
5 WHITESPACE@[2; 3) 5 WHITESPACE@[2; 3)
6 ERROR@[3; 10) 6 ERROR@[3; 10)
7 err: `expected item` 7 err: `expected item`
8 IDENT@[3; 8) 8 IDENT@[3; 8) "match"
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 WHITESPACE@[16; 17)
13 IDENT@[17; 18) 13 IDENT@[17; 18) "S"
14 WHITESPACE@[18; 19) 14 WHITESPACE@[18; 19)
15 L_CURLY@[19; 20) 15 L_CURLY@[19; 20)
16 R_CURLY@[20; 21) 16 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 8dd45d2e5..d77c06378 100644
--- a/tests/data/parser/err/0003_C++_semicolon.txt
+++ b/tests/data/parser/err/0003_C++_semicolon.txt
@@ -2,22 +2,22 @@ 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 WHITESPACE@[6; 7)
5 IDENT@[7; 8) 5 IDENT@[7; 8) "S"
6 WHITESPACE@[8; 9) 6 WHITESPACE@[8; 9)
7 L_CURLY@[9; 10) 7 L_CURLY@[9; 10)
8 NAMED_FIELD@[10; 21) 8 NAMED_FIELD@[10; 21)
9 WHITESPACE@[10; 15) 9 WHITESPACE@[10; 15)
10 IDENT@[15; 16) 10 IDENT@[15; 16) "a"
11 COLON@[16; 17) 11 COLON@[16; 17)
12 WHITESPACE@[17; 18) 12 WHITESPACE@[17; 18)
13 IDENT@[18; 21) 13 IDENT@[18; 21) "i32"
14 COMMA@[21; 22) 14 COMMA@[21; 22)
15 NAMED_FIELD@[22; 36) 15 NAMED_FIELD@[22; 36)
16 WHITESPACE@[22; 27) 16 WHITESPACE@[22; 27)
17 IDENT@[27; 28) 17 IDENT@[27; 28) "b"
18 COLON@[28; 29) 18 COLON@[28; 29)
19 WHITESPACE@[29; 30) 19 WHITESPACE@[29; 30)
20 IDENT@[30; 36) 20 IDENT@[30; 36) "String"
21 COMMA@[36; 37) 21 COMMA@[36; 37)
22 WHITESPACE@[37; 38) 22 WHITESPACE@[37; 38)
23 R_CURLY@[38; 39) 23 R_CURLY@[38; 39)
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 adc049683..7f43611eb 100644
--- a/tests/data/parser/err/0004_use_path_bad_segment.txt
+++ b/tests/data/parser/err/0004_use_path_bad_segment.txt
@@ -6,7 +6,7 @@ FILE@[0; 12)
6 PATH@[3; 7) 6 PATH@[3; 7)
7 PATH_SEGMENT@[3; 7) 7 PATH_SEGMENT@[3; 7)
8 WHITESPACE@[3; 4) 8 WHITESPACE@[3; 4)
9 IDENT@[4; 7) 9 IDENT@[4; 7) "foo"
10 COLONCOLON@[7; 9) 10 COLONCOLON@[7; 9)
11 PATH_SEGMENT@[9; 9) 11 PATH_SEGMENT@[9; 9)
12 err: `expected identifier` 12 err: `expected identifier`
diff --git a/tests/data/parser/err/0005_attribute_recover.txt b/tests/data/parser/err/0005_attribute_recover.txt
index 10f7b2da3..00a534af1 100644
--- a/tests/data/parser/err/0005_attribute_recover.txt
+++ b/tests/data/parser/err/0005_attribute_recover.txt
@@ -4,10 +4,10 @@ FILE@[0; 54)
4 POUND@[0; 1) 4 POUND@[0; 1)
5 L_BRACK@[1; 2) 5 L_BRACK@[1; 2)
6 META_ITEM@[2; 17) 6 META_ITEM@[2; 17)
7 IDENT@[2; 5) 7 IDENT@[2; 5) "foo"
8 L_PAREN@[5; 6) 8 L_PAREN@[5; 6)
9 META_ITEM@[6; 9) 9 META_ITEM@[6; 9)
10 IDENT@[6; 9) 10 IDENT@[6; 9) "foo"
11 COMMA@[9; 10) 11 COMMA@[9; 10)
12 ERROR@[10; 12) 12 ERROR@[10; 12)
13 err: `expected attribute` 13 err: `expected attribute`
@@ -24,7 +24,7 @@ FILE@[0; 54)
24 WHITESPACE@[18; 19) 24 WHITESPACE@[18; 19)
25 FN_KW@[19; 21) 25 FN_KW@[19; 21)
26 WHITESPACE@[21; 22) 26 WHITESPACE@[21; 22)
27 IDENT@[22; 25) 27 IDENT@[22; 25) "foo"
28 L_PAREN@[25; 26) 28 L_PAREN@[25; 26)
29 R_PAREN@[26; 27) 29 R_PAREN@[26; 27)
30 WHITESPACE@[27; 28) 30 WHITESPACE@[27; 28)
@@ -37,14 +37,14 @@ FILE@[0; 54)
37 POUND@[34; 35) 37 POUND@[34; 35)
38 L_BRACK@[35; 36) 38 L_BRACK@[35; 36)
39 META_ITEM@[36; 41) 39 META_ITEM@[36; 41)
40 IDENT@[36; 39) 40 IDENT@[36; 39) "foo"
41 L_PAREN@[39; 40) 41 L_PAREN@[39; 40)
42 err: `expected attribute` 42 err: `expected attribute`
43 WHITESPACE@[40; 41) 43 WHITESPACE@[40; 41)
44 err: `expected R_BRACK` 44 err: `expected R_BRACK`
45 FN_KW@[41; 43) 45 FN_KW@[41; 43)
46 WHITESPACE@[43; 44) 46 WHITESPACE@[43; 44)
47 IDENT@[44; 47) 47 IDENT@[44; 47) "foo"
48 L_PAREN@[47; 48) 48 L_PAREN@[47; 48)
49 R_PAREN@[48; 49) 49 R_PAREN@[48; 49)
50 WHITESPACE@[49; 50) 50 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 d3815102b..0437bf2e7 100644
--- a/tests/data/parser/err/0006_named_field_recovery.txt
+++ b/tests/data/parser/err/0006_named_field_recovery.txt
@@ -2,15 +2,15 @@ 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 WHITESPACE@[6; 7)
5 IDENT@[7; 8) 5 IDENT@[7; 8) "S"
6 WHITESPACE@[8; 9) 6 WHITESPACE@[8; 9)
7 L_CURLY@[9; 10) 7 L_CURLY@[9; 10)
8 NAMED_FIELD@[10; 21) 8 NAMED_FIELD@[10; 21)
9 WHITESPACE@[10; 15) 9 WHITESPACE@[10; 15)
10 IDENT@[15; 16) 10 IDENT@[15; 16) "f"
11 COLON@[16; 17) 11 COLON@[16; 17)
12 WHITESPACE@[17; 18) 12 WHITESPACE@[17; 18)
13 IDENT@[18; 21) 13 IDENT@[18; 21) "u32"
14 COMMA@[21; 22) 14 COMMA@[21; 22)
15 VISIBILITY@[22; 31) 15 VISIBILITY@[22; 31)
16 WHITESPACE@[22; 27) 16 WHITESPACE@[22; 27)
@@ -37,17 +37,17 @@ FILE@[0; 74)
37 VISIBILITY@[48; 52) 37 VISIBILITY@[48; 52)
38 PUB_KW@[48; 51) 38 PUB_KW@[48; 51)
39 WHITESPACE@[51; 52) 39 WHITESPACE@[51; 52)
40 IDENT@[52; 53) 40 IDENT@[52; 53) "x"
41 COLON@[53; 54) 41 COLON@[53; 54)
42 WHITESPACE@[54; 55) 42 WHITESPACE@[54; 55)
43 IDENT@[55; 58) 43 IDENT@[55; 58) "u32"
44 COMMA@[58; 59) 44 COMMA@[58; 59)
45 NAMED_FIELD@[59; 70) 45 NAMED_FIELD@[59; 70)
46 WHITESPACE@[59; 64) 46 WHITESPACE@[59; 64)
47 IDENT@[64; 65) 47 IDENT@[64; 65) "z"
48 COLON@[65; 66) 48 COLON@[65; 66)
49 WHITESPACE@[66; 67) 49 WHITESPACE@[66; 67)
50 IDENT@[67; 70) 50 IDENT@[67; 70) "f64"
51 COMMA@[70; 71) 51 COMMA@[70; 71)
52 WHITESPACE@[71; 72) 52 WHITESPACE@[71; 72)
53 R_CURLY@[72; 73) 53 R_CURLY@[72; 73)
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 04bf17bc7..b4da4464d 100644
--- a/tests/data/parser/err/0007_stray_curly_in_file.txt
+++ b/tests/data/parser/err/0007_stray_curly_in_file.txt
@@ -6,7 +6,7 @@ FILE@[0; 31)
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 WHITESPACE@[9; 10)
9 IDENT@[10; 11) 9 IDENT@[10; 11) "S"
10 SEMI@[11; 12) 10 SEMI@[11; 12)
11 WHITESPACE@[12; 14) 11 WHITESPACE@[12; 14)
12 ERROR@[14; 17) 12 ERROR@[14; 17)
@@ -16,7 +16,7 @@ FILE@[0; 31)
16 FN_ITEM@[17; 29) 16 FN_ITEM@[17; 29)
17 FN_KW@[17; 19) 17 FN_KW@[17; 19)
18 WHITESPACE@[19; 20) 18 WHITESPACE@[19; 20)
19 IDENT@[20; 23) 19 IDENT@[20; 23) "foo"
20 L_PAREN@[23; 24) 20 L_PAREN@[23; 24)
21 R_PAREN@[24; 25) 21 R_PAREN@[24; 25)
22 L_CURLY@[25; 26) 22 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 4bb66f56a..df6a952cd 100644
--- a/tests/data/parser/err/0008_item_block_recovery.txt
+++ b/tests/data/parser/err/0008_item_block_recovery.txt
@@ -2,7 +2,7 @@ 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 WHITESPACE@[2; 3)
5 IDENT@[3; 6) 5 IDENT@[3; 6) "foo"
6 L_PAREN@[6; 7) 6 L_PAREN@[6; 7)
7 R_PAREN@[7; 8) 7 R_PAREN@[7; 8)
8 WHITESPACE@[8; 9) 8 WHITESPACE@[8; 9)
@@ -12,7 +12,7 @@ FILE@[0; 95)
12 WHITESPACE@[12; 14) 12 WHITESPACE@[12; 14)
13 ERROR@[14; 17) 13 ERROR@[14; 17)
14 err: `expected item` 14 err: `expected item`
15 IDENT@[14; 17) 15 IDENT@[14; 17) "bar"
16 ERROR@[17; 18) 16 ERROR@[17; 18)
17 err: `expected item` 17 err: `expected item`
18 L_PAREN@[17; 18) 18 L_PAREN@[17; 18)
@@ -24,7 +24,7 @@ FILE@[0; 95)
24 err: `expected item` 24 err: `expected item`
25 L_CURLY@[20; 21) 25 L_CURLY@[20; 21)
26 WHITESPACE@[21; 26) 26 WHITESPACE@[21; 26)
27 IDENT@[26; 28) 27 IDENT@[26; 28) "if"
28 WHITESPACE@[28; 29) 28 WHITESPACE@[28; 29)
29 TRUE_KW@[29; 33) 29 TRUE_KW@[29; 33)
30 WHITESPACE@[33; 34) 30 WHITESPACE@[33; 34)
@@ -34,7 +34,7 @@ FILE@[0; 95)
34 WHITESPACE@[45; 50) 34 WHITESPACE@[45; 50)
35 R_CURLY@[50; 51) 35 R_CURLY@[50; 51)
36 WHITESPACE@[51; 52) 36 WHITESPACE@[51; 52)
37 IDENT@[52; 56) 37 IDENT@[52; 56) "else"
38 WHITESPACE@[56; 57) 38 WHITESPACE@[56; 57)
39 L_CURLY@[57; 58) 39 L_CURLY@[57; 58)
40 WHITESPACE@[58; 67) 40 WHITESPACE@[58; 67)
@@ -51,7 +51,7 @@ FILE@[0; 95)
51 FN_ITEM@[82; 95) 51 FN_ITEM@[82; 95)
52 FN_KW@[82; 84) 52 FN_KW@[82; 84)
53 WHITESPACE@[84; 85) 53 WHITESPACE@[84; 85)
54 IDENT@[85; 88) 54 IDENT@[85; 88) "baz"
55 L_PAREN@[88; 89) 55 L_PAREN@[88; 89)
56 R_PAREN@[89; 90) 56 R_PAREN@[89; 90)
57 WHITESPACE@[90; 91) 57 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 c6b1adb0c..f329735b6 100644
--- a/tests/data/parser/err/0009_broken_struct_type_parameter.txt
+++ b/tests/data/parser/err/0009_broken_struct_type_parameter.txt
@@ -2,7 +2,7 @@ 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 WHITESPACE@[6; 7)
5 IDENT@[7; 8) 5 IDENT@[7; 8) "S"
6 TYPE_PARAM_LIST@[8; 12) 6 TYPE_PARAM_LIST@[8; 12)
7 L_ANGLE@[8; 9) 7 L_ANGLE@[8; 9)
8 ERROR@[9; 12) 8 ERROR@[9; 12)
@@ -27,16 +27,16 @@ FILE@[0; 43)
27 err: `expected item` 27 err: `expected item`
28 L_CURLY@[17; 18) 28 L_CURLY@[17; 18)
29 WHITESPACE@[18; 23) 29 WHITESPACE@[18; 23)
30 IDENT@[23; 24) 30 IDENT@[23; 24) "f"
31 COLON@[24; 25) 31 COLON@[24; 25)
32 WHITESPACE@[25; 26) 32 WHITESPACE@[25; 26)
33 IDENT@[26; 29) 33 IDENT@[26; 29) "u32"
34 WHITESPACE@[29; 30) 34 WHITESPACE@[29; 30)
35 R_CURLY@[30; 31) 35 R_CURLY@[30; 31)
36 WHITESPACE@[31; 33) 36 WHITESPACE@[31; 33)
37 STRUCT_ITEM@[33; 43) 37 STRUCT_ITEM@[33; 43)
38 STRUCT_KW@[33; 39) 38 STRUCT_KW@[33; 39)
39 WHITESPACE@[39; 40) 39 WHITESPACE@[39; 40)
40 IDENT@[40; 41) 40 IDENT@[40; 41) "T"
41 SEMI@[41; 42) 41 SEMI@[41; 42)
42 WHITESPACE@[42; 43) 42 WHITESPACE@[42; 43)
diff --git a/tests/data/parser/ok/0001_struct_item.txt b/tests/data/parser/ok/0001_struct_item.txt
index f599e9d2c..c280a434f 100644
--- a/tests/data/parser/ok/0001_struct_item.txt
+++ b/tests/data/parser/ok/0001_struct_item.txt
@@ -2,7 +2,7 @@ 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 WHITESPACE@[6; 7)
5 IDENT@[7; 8) 5 IDENT@[7; 8) "S"
6 WHITESPACE@[8; 9) 6 WHITESPACE@[8; 9)
7 L_CURLY@[9; 10) 7 L_CURLY@[9; 10)
8 WHITESPACE@[10; 12) 8 WHITESPACE@[10; 12)
diff --git a/tests/data/parser/ok/0002_struct_item_field.txt b/tests/data/parser/ok/0002_struct_item_field.txt
index 58042f6a7..5a7bfbaec 100644
--- a/tests/data/parser/ok/0002_struct_item_field.txt
+++ b/tests/data/parser/ok/0002_struct_item_field.txt
@@ -2,14 +2,14 @@ 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 WHITESPACE@[6; 7)
5 IDENT@[7; 8) 5 IDENT@[7; 8) "S"
6 WHITESPACE@[8; 9) 6 WHITESPACE@[8; 9)
7 L_CURLY@[9; 10) 7 L_CURLY@[9; 10)
8 NAMED_FIELD@[10; 24) 8 NAMED_FIELD@[10; 24)
9 WHITESPACE@[10; 15) 9 WHITESPACE@[10; 15)
10 IDENT@[15; 18) 10 IDENT@[15; 18) "foo"
11 COLON@[18; 19) 11 COLON@[18; 19)
12 WHITESPACE@[19; 20) 12 WHITESPACE@[19; 20)
13 IDENT@[20; 23) 13 IDENT@[20; 23) "u32"
14 WHITESPACE@[23; 24) 14 WHITESPACE@[23; 24)
15 R_CURLY@[24; 25) 15 R_CURLY@[24; 25)
diff --git a/tests/data/parser/ok/0005_fn_item.txt b/tests/data/parser/ok/0005_fn_item.txt
index e37129ff1..113359351 100644
--- a/tests/data/parser/ok/0005_fn_item.txt
+++ b/tests/data/parser/ok/0005_fn_item.txt
@@ -2,7 +2,7 @@ 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 WHITESPACE@[2; 3)
5 IDENT@[3; 6) 5 IDENT@[3; 6) "foo"
6 L_PAREN@[6; 7) 6 L_PAREN@[6; 7)
7 R_PAREN@[7; 8) 7 R_PAREN@[7; 8)
8 WHITESPACE@[8; 9) 8 WHITESPACE@[8; 9)
diff --git a/tests/data/parser/ok/0006_inner_attributes.txt b/tests/data/parser/ok/0006_inner_attributes.txt
index d826fb379..7d824d1d8 100644
--- a/tests/data/parser/ok/0006_inner_attributes.txt
+++ b/tests/data/parser/ok/0006_inner_attributes.txt
@@ -4,7 +4,7 @@ FILE@[0; 236)
4 EXCL@[1; 2) 4 EXCL@[1; 2)
5 L_BRACK@[2; 3) 5 L_BRACK@[2; 3)
6 META_ITEM@[3; 7) 6 META_ITEM@[3; 7)
7 IDENT@[3; 7) 7 IDENT@[3; 7) "attr"
8 R_BRACK@[7; 8) 8 R_BRACK@[7; 8)
9 WHITESPACE@[8; 9) 9 WHITESPACE@[8; 9)
10 ATTR@[9; 24) 10 ATTR@[9; 24)
@@ -12,7 +12,7 @@ FILE@[0; 236)
12 EXCL@[10; 11) 12 EXCL@[10; 11)
13 L_BRACK@[11; 12) 13 L_BRACK@[11; 12)
14 META_ITEM@[12; 22) 14 META_ITEM@[12; 22)
15 IDENT@[12; 16) 15 IDENT@[12; 16) "attr"
16 L_PAREN@[16; 17) 16 L_PAREN@[16; 17)
17 LITERAL@[17; 21) 17 LITERAL@[17; 21)
18 TRUE_KW@[17; 21) 18 TRUE_KW@[17; 21)
@@ -24,10 +24,10 @@ FILE@[0; 236)
24 EXCL@[25; 26) 24 EXCL@[25; 26)
25 L_BRACK@[26; 27) 25 L_BRACK@[26; 27)
26 META_ITEM@[27; 38) 26 META_ITEM@[27; 38)
27 IDENT@[27; 31) 27 IDENT@[27; 31) "attr"
28 L_PAREN@[31; 32) 28 L_PAREN@[31; 32)
29 META_ITEM@[32; 37) 29 META_ITEM@[32; 37)
30 IDENT@[32; 37) 30 IDENT@[32; 37) "ident"
31 R_PAREN@[37; 38) 31 R_PAREN@[37; 38)
32 R_BRACK@[38; 39) 32 R_BRACK@[38; 39)
33 WHITESPACE@[39; 40) 33 WHITESPACE@[39; 40)
@@ -36,10 +36,10 @@ FILE@[0; 236)
36 EXCL@[41; 42) 36 EXCL@[41; 42)
37 L_BRACK@[42; 43) 37 L_BRACK@[42; 43)
38 META_ITEM@[43; 115) 38 META_ITEM@[43; 115)
39 IDENT@[43; 47) 39 IDENT@[43; 47) "attr"
40 L_PAREN@[47; 48) 40 L_PAREN@[47; 48)
41 META_ITEM@[48; 53) 41 META_ITEM@[48; 53)
42 IDENT@[48; 53) 42 IDENT@[48; 53) "ident"
43 COMMA@[53; 54) 43 COMMA@[53; 54)
44 LITERAL@[54; 58) 44 LITERAL@[54; 58)
45 WHITESPACE@[54; 55) 45 WHITESPACE@[54; 55)
@@ -55,7 +55,7 @@ FILE@[0; 236)
55 COMMA@[72; 73) 55 COMMA@[72; 73)
56 META_ITEM@[73; 85) 56 META_ITEM@[73; 85)
57 WHITESPACE@[73; 74) 57 WHITESPACE@[73; 74)
58 IDENT@[74; 79) 58 IDENT@[74; 79) "ident"
59 WHITESPACE@[79; 80) 59 WHITESPACE@[79; 80)
60 EQ@[80; 81) 60 EQ@[80; 81)
61 LITERAL@[81; 85) 61 LITERAL@[81; 85)
@@ -64,7 +64,7 @@ FILE@[0; 236)
64 COMMA@[85; 86) 64 COMMA@[85; 86)
65 META_ITEM@[86; 102) 65 META_ITEM@[86; 102)
66 WHITESPACE@[86; 87) 66 WHITESPACE@[86; 87)
67 IDENT@[87; 92) 67 IDENT@[87; 92) "ident"
68 WHITESPACE@[92; 93) 68 WHITESPACE@[92; 93)
69 EQ@[93; 94) 69 EQ@[93; 94)
70 LITERAL@[94; 102) 70 LITERAL@[94; 102)
@@ -73,7 +73,7 @@ FILE@[0; 236)
73 COMMA@[102; 103) 73 COMMA@[102; 103)
74 META_ITEM@[103; 114) 74 META_ITEM@[103; 114)
75 WHITESPACE@[103; 104) 75 WHITESPACE@[103; 104)
76 IDENT@[104; 109) 76 IDENT@[104; 109) "ident"
77 L_PAREN@[109; 110) 77 L_PAREN@[109; 110)
78 LITERAL@[110; 113) 78 LITERAL@[110; 113)
79 INT_NUMBER@[110; 113) 79 INT_NUMBER@[110; 113)
@@ -86,7 +86,7 @@ FILE@[0; 236)
86 EXCL@[118; 119) 86 EXCL@[118; 119)
87 L_BRACK@[119; 120) 87 L_BRACK@[119; 120)
88 META_ITEM@[120; 129) 88 META_ITEM@[120; 129)
89 IDENT@[120; 124) 89 IDENT@[120; 124) "attr"
90 L_PAREN@[124; 125) 90 L_PAREN@[124; 125)
91 LITERAL@[125; 128) 91 LITERAL@[125; 128)
92 INT_NUMBER@[125; 128) 92 INT_NUMBER@[125; 128)
@@ -98,10 +98,10 @@ FILE@[0; 236)
98 EXCL@[132; 133) 98 EXCL@[132; 133)
99 L_BRACK@[133; 134) 99 L_BRACK@[133; 134)
100 META_ITEM@[134; 154) 100 META_ITEM@[134; 154)
101 IDENT@[134; 138) 101 IDENT@[134; 138) "attr"
102 L_PAREN@[138; 139) 102 L_PAREN@[138; 139)
103 META_ITEM@[139; 153) 103 META_ITEM@[139; 153)
104 IDENT@[139; 146) 104 IDENT@[139; 146) "enabled"
105 WHITESPACE@[146; 147) 105 WHITESPACE@[146; 147)
106 EQ@[147; 148) 106 EQ@[147; 148)
107 LITERAL@[148; 153) 107 LITERAL@[148; 153)
@@ -115,7 +115,7 @@ FILE@[0; 236)
115 EXCL@[157; 158) 115 EXCL@[157; 158)
116 L_BRACK@[158; 159) 116 L_BRACK@[158; 159)
117 META_ITEM@[159; 172) 117 META_ITEM@[159; 172)
118 IDENT@[159; 166) 118 IDENT@[159; 166) "enabled"
119 L_PAREN@[166; 167) 119 L_PAREN@[166; 167)
120 LITERAL@[167; 171) 120 LITERAL@[167; 171)
121 TRUE_KW@[167; 171) 121 TRUE_KW@[167; 171)
@@ -127,7 +127,7 @@ FILE@[0; 236)
127 EXCL@[175; 176) 127 EXCL@[175; 176)
128 L_BRACK@[176; 177) 128 L_BRACK@[176; 177)
129 META_ITEM@[177; 190) 129 META_ITEM@[177; 190)
130 IDENT@[177; 181) 130 IDENT@[177; 181) "attr"
131 L_PAREN@[181; 182) 131 L_PAREN@[181; 182)
132 LITERAL@[182; 189) 132 LITERAL@[182; 189)
133 STRING@[182; 189) 133 STRING@[182; 189)
@@ -139,14 +139,14 @@ FILE@[0; 236)
139 EXCL@[193; 194) 139 EXCL@[193; 194)
140 L_BRACK@[194; 195) 140 L_BRACK@[194; 195)
141 META_ITEM@[195; 213) 141 META_ITEM@[195; 213)
142 IDENT@[195; 199) 142 IDENT@[195; 199) "repr"
143 L_PAREN@[199; 200) 143 L_PAREN@[199; 200)
144 META_ITEM@[200; 201) 144 META_ITEM@[200; 201)
145 IDENT@[200; 201) 145 IDENT@[200; 201) "C"
146 COMMA@[201; 202) 146 COMMA@[201; 202)
147 META_ITEM@[202; 212) 147 META_ITEM@[202; 212)
148 WHITESPACE@[202; 203) 148 WHITESPACE@[202; 203)
149 IDENT@[203; 208) 149 IDENT@[203; 208) "align"
150 WHITESPACE@[208; 209) 150 WHITESPACE@[208; 209)
151 EQ@[209; 210) 151 EQ@[209; 210)
152 LITERAL@[210; 212) 152 LITERAL@[210; 212)
@@ -160,14 +160,14 @@ FILE@[0; 236)
160 EXCL@[216; 217) 160 EXCL@[216; 217)
161 L_BRACK@[217; 218) 161 L_BRACK@[217; 218)
162 META_ITEM@[218; 235) 162 META_ITEM@[218; 235)
163 IDENT@[218; 222) 163 IDENT@[218; 222) "repr"
164 L_PAREN@[222; 223) 164 L_PAREN@[222; 223)
165 META_ITEM@[223; 224) 165 META_ITEM@[223; 224)
166 IDENT@[223; 224) 166 IDENT@[223; 224) "C"
167 COMMA@[224; 225) 167 COMMA@[224; 225)
168 META_ITEM@[225; 234) 168 META_ITEM@[225; 234)
169 WHITESPACE@[225; 226) 169 WHITESPACE@[225; 226)
170 IDENT@[226; 231) 170 IDENT@[226; 231) "align"
171 L_PAREN@[231; 232) 171 L_PAREN@[231; 232)
172 LITERAL@[232; 233) 172 LITERAL@[232; 233)
173 INT_NUMBER@[232; 233) 173 INT_NUMBER@[232; 233)
diff --git a/tests/data/parser/ok/0007_extern_crate.txt b/tests/data/parser/ok/0007_extern_crate.txt
index 902c80f7d..aff70131b 100644
--- a/tests/data/parser/ok/0007_extern_crate.txt
+++ b/tests/data/parser/ok/0007_extern_crate.txt
@@ -4,7 +4,7 @@ FILE@[0; 43)
4 WHITESPACE@[6; 7) 4 WHITESPACE@[6; 7)
5 CRATE_KW@[7; 12) 5 CRATE_KW@[7; 12)
6 WHITESPACE@[12; 13) 6 WHITESPACE@[12; 13)
7 IDENT@[13; 16) 7 IDENT@[13; 16) "foo"
8 SEMI@[16; 17) 8 SEMI@[16; 17)
9 WHITESPACE@[17; 18) 9 WHITESPACE@[17; 18)
10 EXTERN_CRATE_ITEM@[18; 43) 10 EXTERN_CRATE_ITEM@[18; 43)
@@ -12,11 +12,11 @@ FILE@[0; 43)
12 WHITESPACE@[24; 25) 12 WHITESPACE@[24; 25)
13 CRATE_KW@[25; 30) 13 CRATE_KW@[25; 30)
14 WHITESPACE@[30; 31) 14 WHITESPACE@[30; 31)
15 IDENT@[31; 34) 15 IDENT@[31; 34) "foo"
16 ALIAS@[34; 41) 16 ALIAS@[34; 41)
17 WHITESPACE@[34; 35) 17 WHITESPACE@[34; 35)
18 AS_KW@[35; 37) 18 AS_KW@[35; 37)
19 WHITESPACE@[37; 38) 19 WHITESPACE@[37; 38)
20 IDENT@[38; 41) 20 IDENT@[38; 41) "bar"
21 SEMI@[41; 42) 21 SEMI@[41; 42)
22 WHITESPACE@[42; 43) 22 WHITESPACE@[42; 43)
diff --git a/tests/data/parser/ok/0008_mod_item.txt b/tests/data/parser/ok/0008_mod_item.txt
index 425e3344c..06e11807d 100644
--- a/tests/data/parser/ok/0008_mod_item.txt
+++ b/tests/data/parser/ok/0008_mod_item.txt
@@ -2,13 +2,13 @@ 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 WHITESPACE@[3; 4)
5 IDENT@[4; 5) 5 IDENT@[4; 5) "a"
6 SEMI@[5; 6) 6 SEMI@[5; 6)
7 WHITESPACE@[6; 8) 7 WHITESPACE@[6; 8)
8 MOD_ITEM@[8; 19) 8 MOD_ITEM@[8; 19)
9 MOD_KW@[8; 11) 9 MOD_KW@[8; 11)
10 WHITESPACE@[11; 12) 10 WHITESPACE@[11; 12)
11 IDENT@[12; 13) 11 IDENT@[12; 13) "b"
12 WHITESPACE@[13; 14) 12 WHITESPACE@[13; 14)
13 L_CURLY@[14; 15) 13 L_CURLY@[14; 15)
14 WHITESPACE@[15; 16) 14 WHITESPACE@[15; 16)
@@ -17,14 +17,14 @@ FILE@[0; 118)
17 MOD_ITEM@[19; 67) 17 MOD_ITEM@[19; 67)
18 MOD_KW@[19; 22) 18 MOD_KW@[19; 22)
19 WHITESPACE@[22; 23) 19 WHITESPACE@[22; 23)
20 IDENT@[23; 24) 20 IDENT@[23; 24) "c"
21 WHITESPACE@[24; 25) 21 WHITESPACE@[24; 25)
22 L_CURLY@[25; 26) 22 L_CURLY@[25; 26)
23 FN_ITEM@[26; 52) 23 FN_ITEM@[26; 52)
24 WHITESPACE@[26; 31) 24 WHITESPACE@[26; 31)
25 FN_KW@[31; 33) 25 FN_KW@[31; 33)
26 WHITESPACE@[33; 34) 26 WHITESPACE@[33; 34)
27 IDENT@[34; 37) 27 IDENT@[34; 37) "foo"
28 L_PAREN@[37; 38) 28 L_PAREN@[37; 38)
29 R_PAREN@[38; 39) 29 R_PAREN@[38; 39)
30 WHITESPACE@[39; 40) 30 WHITESPACE@[39; 40)
@@ -35,7 +35,7 @@ FILE@[0; 118)
35 STRUCT_ITEM@[52; 64) 35 STRUCT_ITEM@[52; 64)
36 STRUCT_KW@[52; 58) 36 STRUCT_KW@[52; 58)
37 WHITESPACE@[58; 59) 37 WHITESPACE@[58; 59)
38 IDENT@[59; 60) 38 IDENT@[59; 60) "S"
39 WHITESPACE@[60; 61) 39 WHITESPACE@[60; 61)
40 L_CURLY@[61; 62) 40 L_CURLY@[61; 62)
41 R_CURLY@[62; 63) 41 R_CURLY@[62; 63)
@@ -45,7 +45,7 @@ FILE@[0; 118)
45 MOD_ITEM@[67; 118) 45 MOD_ITEM@[67; 118)
46 MOD_KW@[67; 70) 46 MOD_KW@[67; 70)
47 WHITESPACE@[70; 71) 47 WHITESPACE@[70; 71)
48 IDENT@[71; 72) 48 IDENT@[71; 72) "d"
49 WHITESPACE@[72; 73) 49 WHITESPACE@[72; 73)
50 L_CURLY@[73; 74) 50 L_CURLY@[73; 74)
51 ATTR@[74; 92) 51 ATTR@[74; 92)
@@ -54,19 +54,19 @@ FILE@[0; 118)
54 EXCL@[80; 81) 54 EXCL@[80; 81)
55 L_BRACK@[81; 82) 55 L_BRACK@[81; 82)
56 META_ITEM@[82; 86) 56 META_ITEM@[82; 86)
57 IDENT@[82; 86) 57 IDENT@[82; 86) "attr"
58 R_BRACK@[86; 87) 58 R_BRACK@[86; 87)
59 WHITESPACE@[87; 92) 59 WHITESPACE@[87; 92)
60 MOD_ITEM@[92; 103) 60 MOD_ITEM@[92; 103)
61 MOD_KW@[92; 95) 61 MOD_KW@[92; 95)
62 WHITESPACE@[95; 96) 62 WHITESPACE@[95; 96)
63 IDENT@[96; 97) 63 IDENT@[96; 97) "e"
64 SEMI@[97; 98) 64 SEMI@[97; 98)
65 WHITESPACE@[98; 103) 65 WHITESPACE@[98; 103)
66 MOD_ITEM@[103; 117) 66 MOD_ITEM@[103; 117)
67 MOD_KW@[103; 106) 67 MOD_KW@[103; 106)
68 WHITESPACE@[106; 107) 68 WHITESPACE@[106; 107)
69 IDENT@[107; 108) 69 IDENT@[107; 108) "f"
70 WHITESPACE@[108; 109) 70 WHITESPACE@[108; 109)
71 L_CURLY@[109; 110) 71 L_CURLY@[109; 110)
72 WHITESPACE@[110; 115) 72 WHITESPACE@[110; 115)
diff --git a/tests/data/parser/ok/0009_use_item.txt b/tests/data/parser/ok/0009_use_item.txt
index 63274125d..08ae990d9 100644
--- a/tests/data/parser/ok/0009_use_item.txt
+++ b/tests/data/parser/ok/0009_use_item.txt
@@ -5,7 +5,7 @@ FILE@[0; 19)
5 PATH@[3; 7) 5 PATH@[3; 7)
6 PATH_SEGMENT@[3; 7) 6 PATH_SEGMENT@[3; 7)
7 WHITESPACE@[3; 4) 7 WHITESPACE@[3; 4)
8 IDENT@[4; 7) 8 IDENT@[4; 7) "foo"
9 SEMI@[7; 8) 9 SEMI@[7; 8)
10 WHITESPACE@[8; 9) 10 WHITESPACE@[8; 9)
11 USE_ITEM@[9; 19) 11 USE_ITEM@[9; 19)
@@ -15,5 +15,5 @@ FILE@[0; 19)
15 PATH_SEGMENT@[12; 18) 15 PATH_SEGMENT@[12; 18)
16 WHITESPACE@[12; 13) 16 WHITESPACE@[12; 13)
17 COLONCOLON@[13; 15) 17 COLONCOLON@[13; 15)
18 IDENT@[15; 18) 18 IDENT@[15; 18) "bar"
19 SEMI@[18; 19) 19 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 d0f2033ce..37e3dfdbf 100644
--- a/tests/data/parser/ok/0010_use_path_segments.txt
+++ b/tests/data/parser/ok/0010_use_path_segments.txt
@@ -8,13 +8,13 @@ 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) 11 IDENT@[6; 9) "foo"
12 COLONCOLON@[9; 11) 12 COLONCOLON@[9; 11)
13 PATH_SEGMENT@[11; 14) 13 PATH_SEGMENT@[11; 14)
14 IDENT@[11; 14) 14 IDENT@[11; 14) "bar"
15 COLONCOLON@[14; 16) 15 COLONCOLON@[14; 16)
16 PATH_SEGMENT@[16; 19) 16 PATH_SEGMENT@[16; 19)
17 IDENT@[16; 19) 17 IDENT@[16; 19) "baz"
18 SEMI@[19; 20) 18 SEMI@[19; 20)
19 WHITESPACE@[20; 21) 19 WHITESPACE@[20; 21)
20 USE_ITEM@[21; 40) 20 USE_ITEM@[21; 40)
@@ -25,12 +25,12 @@ FILE@[0; 40)
25 PATH@[24; 28) 25 PATH@[24; 28)
26 PATH_SEGMENT@[24; 28) 26 PATH_SEGMENT@[24; 28)
27 WHITESPACE@[24; 25) 27 WHITESPACE@[24; 25)
28 IDENT@[25; 28) 28 IDENT@[25; 28) "foo"
29 COLONCOLON@[28; 30) 29 COLONCOLON@[28; 30)
30 PATH_SEGMENT@[30; 33) 30 PATH_SEGMENT@[30; 33)
31 IDENT@[30; 33) 31 IDENT@[30; 33) "bar"
32 COLONCOLON@[33; 35) 32 COLONCOLON@[33; 35)
33 PATH_SEGMENT@[35; 38) 33 PATH_SEGMENT@[35; 38)
34 IDENT@[35; 38) 34 IDENT@[35; 38) "baz"
35 SEMI@[38; 39) 35 SEMI@[38; 39)
36 WHITESPACE@[39; 40) 36 WHITESPACE@[39; 40)
diff --git a/tests/data/parser/ok/0011_outer_attribute.txt b/tests/data/parser/ok/0011_outer_attribute.txt
index 0f69b1f66..4839d8e67 100644
--- a/tests/data/parser/ok/0011_outer_attribute.txt
+++ b/tests/data/parser/ok/0011_outer_attribute.txt
@@ -4,10 +4,10 @@ FILE@[0; 35)
4 POUND@[0; 1) 4 POUND@[0; 1)
5 L_BRACK@[1; 2) 5 L_BRACK@[1; 2)
6 META_ITEM@[2; 11) 6 META_ITEM@[2; 11)
7 IDENT@[2; 5) 7 IDENT@[2; 5) "cfg"
8 L_PAREN@[5; 6) 8 L_PAREN@[5; 6)
9 META_ITEM@[6; 10) 9 META_ITEM@[6; 10)
10 IDENT@[6; 10) 10 IDENT@[6; 10) "test"
11 R_PAREN@[10; 11) 11 R_PAREN@[10; 11)
12 R_BRACK@[11; 12) 12 R_BRACK@[11; 12)
13 WHITESPACE@[12; 13) 13 WHITESPACE@[12; 13)
@@ -15,12 +15,12 @@ FILE@[0; 35)
15 POUND@[13; 14) 15 POUND@[13; 14)
16 L_BRACK@[14; 15) 16 L_BRACK@[14; 15)
17 META_ITEM@[15; 21) 17 META_ITEM@[15; 21)
18 IDENT@[15; 21) 18 IDENT@[15; 21) "ignore"
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 WHITESPACE@[25; 26)
23 IDENT@[26; 29) 23 IDENT@[26; 29) "foo"
24 L_PAREN@[29; 30) 24 L_PAREN@[29; 30)
25 R_PAREN@[30; 31) 25 R_PAREN@[30; 31)
26 WHITESPACE@[31; 32) 26 WHITESPACE@[31; 32)
diff --git a/tests/data/parser/ok/0012_visibility.txt b/tests/data/parser/ok/0012_visibility.txt
index 0e091724d..ed22b265b 100644
--- a/tests/data/parser/ok/0012_visibility.txt
+++ b/tests/data/parser/ok/0012_visibility.txt
@@ -2,7 +2,7 @@ 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 WHITESPACE@[2; 3)
5 IDENT@[3; 4) 5 IDENT@[3; 4) "a"
6 L_PAREN@[4; 5) 6 L_PAREN@[4; 5)
7 R_PAREN@[5; 6) 7 R_PAREN@[5; 6)
8 WHITESPACE@[6; 7) 8 WHITESPACE@[6; 7)
@@ -15,7 +15,7 @@ FILE@[0; 98)
15 WHITESPACE@[13; 14) 15 WHITESPACE@[13; 14)
16 FN_KW@[14; 16) 16 FN_KW@[14; 16)
17 WHITESPACE@[16; 17) 17 WHITESPACE@[16; 17)
18 IDENT@[17; 18) 18 IDENT@[17; 18) "b"
19 L_PAREN@[18; 19) 19 L_PAREN@[18; 19)
20 R_PAREN@[19; 20) 20 R_PAREN@[19; 20)
21 WHITESPACE@[20; 21) 21 WHITESPACE@[20; 21)
@@ -31,7 +31,7 @@ FILE@[0; 98)
31 WHITESPACE@[34; 35) 31 WHITESPACE@[34; 35)
32 FN_KW@[35; 37) 32 FN_KW@[35; 37)
33 WHITESPACE@[37; 38) 33 WHITESPACE@[37; 38)
34 IDENT@[38; 39) 34 IDENT@[38; 39) "c"
35 L_PAREN@[39; 40) 35 L_PAREN@[39; 40)
36 R_PAREN@[40; 41) 36 R_PAREN@[40; 41)
37 WHITESPACE@[41; 42) 37 WHITESPACE@[41; 42)
@@ -47,7 +47,7 @@ FILE@[0; 98)
47 WHITESPACE@[55; 56) 47 WHITESPACE@[55; 56)
48 FN_KW@[56; 58) 48 FN_KW@[56; 58)
49 WHITESPACE@[58; 59) 49 WHITESPACE@[58; 59)
50 IDENT@[59; 60) 50 IDENT@[59; 60) "d"
51 L_PAREN@[60; 61) 51 L_PAREN@[60; 61)
52 R_PAREN@[61; 62) 52 R_PAREN@[61; 62)
53 WHITESPACE@[62; 63) 53 WHITESPACE@[62; 63)
@@ -64,18 +64,18 @@ FILE@[0; 98)
64 PATH@[72; 76) 64 PATH@[72; 76)
65 PATH_SEGMENT@[72; 76) 65 PATH_SEGMENT@[72; 76)
66 WHITESPACE@[72; 73) 66 WHITESPACE@[72; 73)
67 IDENT@[73; 76) 67 IDENT@[73; 76) "foo"
68 COLONCOLON@[76; 78) 68 COLONCOLON@[76; 78)
69 PATH_SEGMENT@[78; 81) 69 PATH_SEGMENT@[78; 81)
70 IDENT@[78; 81) 70 IDENT@[78; 81) "bar"
71 COLONCOLON@[81; 83) 71 COLONCOLON@[81; 83)
72 PATH_SEGMENT@[83; 86) 72 PATH_SEGMENT@[83; 86)
73 IDENT@[83; 86) 73 IDENT@[83; 86) "baz"
74 R_PAREN@[86; 87) 74 R_PAREN@[86; 87)
75 WHITESPACE@[87; 88) 75 WHITESPACE@[87; 88)
76 FN_KW@[88; 90) 76 FN_KW@[88; 90)
77 WHITESPACE@[90; 91) 77 WHITESPACE@[90; 91)
78 IDENT@[91; 92) 78 IDENT@[91; 92) "e"
79 L_PAREN@[92; 93) 79 L_PAREN@[92; 93)
80 R_PAREN@[93; 94) 80 R_PAREN@[93; 94)
81 WHITESPACE@[94; 95) 81 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 2b0934e97..f3dfaba4b 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,7 @@ 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) 12 IDENT@[10; 13) "foo"
13 SEMI@[13; 14) 13 SEMI@[13; 14)
14 WHITESPACE@[14; 15) 14 WHITESPACE@[14; 15)
15 USE_ITEM@[15; 38) 15 USE_ITEM@[15; 38)
@@ -26,7 +26,7 @@ FILE@[0; 65)
26 SUPER_KW@[26; 31) 26 SUPER_KW@[26; 31)
27 COLONCOLON@[31; 33) 27 COLONCOLON@[31; 33)
28 PATH_SEGMENT@[33; 36) 28 PATH_SEGMENT@[33; 36)
29 IDENT@[33; 36) 29 IDENT@[33; 36) "bar"
30 SEMI@[36; 37) 30 SEMI@[36; 37)
31 WHITESPACE@[37; 38) 31 WHITESPACE@[37; 38)
32 USE_ITEM@[38; 65) 32 USE_ITEM@[38; 65)
@@ -42,12 +42,12 @@ FILE@[0; 65)
42 SELF_KW@[44; 48) 42 SELF_KW@[44; 48)
43 COLONCOLON@[48; 50) 43 COLONCOLON@[48; 50)
44 PATH_SEGMENT@[50; 51) 44 PATH_SEGMENT@[50; 51)
45 IDENT@[50; 51) 45 IDENT@[50; 51) "a"
46 COLONCOLON@[51; 53) 46 COLONCOLON@[51; 53)
47 PATH_SEGMENT@[53; 58) 47 PATH_SEGMENT@[53; 58)
48 SUPER_KW@[53; 58) 48 SUPER_KW@[53; 58)
49 COLONCOLON@[58; 60) 49 COLONCOLON@[58; 60)
50 PATH_SEGMENT@[60; 63) 50 PATH_SEGMENT@[60; 63)
51 IDENT@[60; 63) 51 IDENT@[60; 63) "bar"
52 SEMI@[63; 64) 52 SEMI@[63; 64)
53 WHITESPACE@[64; 65) 53 WHITESPACE@[64; 65)
diff --git a/tests/data/parser/ok/0014_use_tree.txt b/tests/data/parser/ok/0014_use_tree.txt
index ca91e63e1..cddaa5462 100644
--- a/tests/data/parser/ok/0014_use_tree.txt
+++ b/tests/data/parser/ok/0014_use_tree.txt
@@ -37,7 +37,7 @@ FILE@[0; 81)
37 PATH@[37; 41) 37 PATH@[37; 41)
38 PATH_SEGMENT@[37; 41) 38 PATH_SEGMENT@[37; 41)
39 WHITESPACE@[37; 38) 39 WHITESPACE@[37; 38)
40 IDENT@[38; 41) 40 IDENT@[38; 41) "foo"
41 COLONCOLON@[41; 43) 41 COLONCOLON@[41; 43)
42 STAR@[43; 44) 42 STAR@[43; 44)
43 SEMI@[44; 45) 43 SEMI@[44; 45)
@@ -48,7 +48,7 @@ FILE@[0; 81)
48 PATH@[49; 53) 48 PATH@[49; 53)
49 PATH_SEGMENT@[49; 53) 49 PATH_SEGMENT@[49; 53)
50 WHITESPACE@[49; 50) 50 WHITESPACE@[49; 50)
51 IDENT@[50; 53) 51 IDENT@[50; 53) "foo"
52 COLONCOLON@[53; 55) 52 COLONCOLON@[53; 55)
53 L_CURLY@[55; 56) 53 L_CURLY@[55; 56)
54 R_CURLY@[56; 57) 54 R_CURLY@[56; 57)
@@ -61,25 +61,25 @@ FILE@[0; 81)
61 PATH_SEGMENT@[62; 68) 61 PATH_SEGMENT@[62; 68)
62 WHITESPACE@[62; 63) 62 WHITESPACE@[62; 63)
63 COLONCOLON@[63; 65) 63 COLONCOLON@[63; 65)
64 IDENT@[65; 68) 64 IDENT@[65; 68) "foo"
65 COLONCOLON@[68; 70) 65 COLONCOLON@[68; 70)
66 L_CURLY@[70; 71) 66 L_CURLY@[70; 71)
67 USE_TREE@[71; 72) 67 USE_TREE@[71; 72)
68 PATH@[71; 72) 68 PATH@[71; 72)
69 PATH_SEGMENT@[71; 72) 69 PATH_SEGMENT@[71; 72)
70 IDENT@[71; 72) 70 IDENT@[71; 72) "a"
71 COMMA@[72; 73) 71 COMMA@[72; 73)
72 USE_TREE@[73; 75) 72 USE_TREE@[73; 75)
73 PATH@[73; 75) 73 PATH@[73; 75)
74 PATH_SEGMENT@[73; 75) 74 PATH_SEGMENT@[73; 75)
75 WHITESPACE@[73; 74) 75 WHITESPACE@[73; 74)
76 IDENT@[74; 75) 76 IDENT@[74; 75) "b"
77 COMMA@[75; 76) 77 COMMA@[75; 76)
78 USE_TREE@[76; 78) 78 USE_TREE@[76; 78)
79 PATH@[76; 78) 79 PATH@[76; 78)
80 PATH_SEGMENT@[76; 78) 80 PATH_SEGMENT@[76; 78)
81 WHITESPACE@[76; 77) 81 WHITESPACE@[76; 77)
82 IDENT@[77; 78) 82 IDENT@[77; 78) "c"
83 R_CURLY@[78; 79) 83 R_CURLY@[78; 79)
84 SEMI@[79; 80) 84 SEMI@[79; 80)
85 WHITESPACE@[80; 81) 85 WHITESPACE@[80; 81)
diff --git a/tests/data/parser/ok/0015_use_tree.txt b/tests/data/parser/ok/0015_use_tree.txt
index c1975f6cb..10bdef5fe 100644
--- a/tests/data/parser/ok/0015_use_tree.txt
+++ b/tests/data/parser/ok/0015_use_tree.txt
@@ -5,12 +5,12 @@ FILE@[0; 55)
5 PATH@[3; 8) 5 PATH@[3; 8)
6 PATH_SEGMENT@[3; 8) 6 PATH_SEGMENT@[3; 8)
7 WHITESPACE@[3; 4) 7 WHITESPACE@[3; 4)
8 IDENT@[4; 7) 8 IDENT@[4; 7) "foo"
9 WHITESPACE@[7; 8) 9 WHITESPACE@[7; 8)
10 ALIAS@[8; 14) 10 ALIAS@[8; 14)
11 AS_KW@[8; 10) 11 AS_KW@[8; 10)
12 WHITESPACE@[10; 11) 12 WHITESPACE@[10; 11)
13 IDENT@[11; 14) 13 IDENT@[11; 14) "bar"
14 SEMI@[14; 15) 14 SEMI@[14; 15)
15 WHITESPACE@[15; 16) 15 WHITESPACE@[15; 16)
16 USE_ITEM@[16; 55) 16 USE_ITEM@[16; 55)
@@ -19,18 +19,18 @@ FILE@[0; 55)
19 PATH@[19; 23) 19 PATH@[19; 23)
20 PATH_SEGMENT@[19; 23) 20 PATH_SEGMENT@[19; 23)
21 WHITESPACE@[19; 20) 21 WHITESPACE@[19; 20)
22 IDENT@[20; 23) 22 IDENT@[20; 23) "foo"
23 COLONCOLON@[23; 25) 23 COLONCOLON@[23; 25)
24 L_CURLY@[25; 26) 24 L_CURLY@[25; 26)
25 USE_TREE@[26; 32) 25 USE_TREE@[26; 32)
26 PATH@[26; 28) 26 PATH@[26; 28)
27 PATH_SEGMENT@[26; 28) 27 PATH_SEGMENT@[26; 28)
28 IDENT@[26; 27) 28 IDENT@[26; 27) "a"
29 WHITESPACE@[27; 28) 29 WHITESPACE@[27; 28)
30 ALIAS@[28; 32) 30 ALIAS@[28; 32)
31 AS_KW@[28; 30) 31 AS_KW@[28; 30)
32 WHITESPACE@[30; 31) 32 WHITESPACE@[30; 31)
33 IDENT@[31; 32) 33 IDENT@[31; 32) "b"
34 COMMA@[32; 33) 34 COMMA@[32; 33)
35 USE_TREE@[33; 35) 35 USE_TREE@[33; 35)
36 WHITESPACE@[33; 34) 36 WHITESPACE@[33; 34)
@@ -46,12 +46,12 @@ FILE@[0; 55)
46 PATH_SEGMENT@[41; 48) 46 PATH_SEGMENT@[41; 48)
47 WHITESPACE@[41; 42) 47 WHITESPACE@[41; 42)
48 COLONCOLON@[42; 44) 48 COLONCOLON@[42; 44)
49 IDENT@[44; 47) 49 IDENT@[44; 47) "foo"
50 WHITESPACE@[47; 48) 50 WHITESPACE@[47; 48)
51 ALIAS@[48; 52) 51 ALIAS@[48; 52)
52 AS_KW@[48; 50) 52 AS_KW@[48; 50)
53 WHITESPACE@[50; 51) 53 WHITESPACE@[50; 51)
54 IDENT@[51; 52) 54 IDENT@[51; 52) "x"
55 R_CURLY@[52; 53) 55 R_CURLY@[52; 53)
56 SEMI@[53; 54) 56 SEMI@[53; 54)
57 WHITESPACE@[54; 55) 57 WHITESPACE@[54; 55)
diff --git a/tests/data/parser/ok/0016_struct_flavors.txt b/tests/data/parser/ok/0016_struct_flavors.txt
index 93b16e1b9..d5d3a0183 100644
--- a/tests/data/parser/ok/0016_struct_flavors.txt
+++ b/tests/data/parser/ok/0016_struct_flavors.txt
@@ -2,13 +2,13 @@ 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 WHITESPACE@[6; 7)
5 IDENT@[7; 8) 5 IDENT@[7; 8) "A"
6 SEMI@[8; 9) 6 SEMI@[8; 9)
7 WHITESPACE@[9; 10) 7 WHITESPACE@[9; 10)
8 STRUCT_ITEM@[10; 22) 8 STRUCT_ITEM@[10; 22)
9 STRUCT_KW@[10; 16) 9 STRUCT_KW@[10; 16)
10 WHITESPACE@[16; 17) 10 WHITESPACE@[16; 17)
11 IDENT@[17; 18) 11 IDENT@[17; 18) "B"
12 WHITESPACE@[18; 19) 12 WHITESPACE@[18; 19)
13 L_CURLY@[19; 20) 13 L_CURLY@[19; 20)
14 R_CURLY@[20; 21) 14 R_CURLY@[20; 21)
@@ -16,7 +16,7 @@ FILE@[0; 97)
16 STRUCT_ITEM@[22; 35) 16 STRUCT_ITEM@[22; 35)
17 STRUCT_KW@[22; 28) 17 STRUCT_KW@[22; 28)
18 WHITESPACE@[28; 29) 18 WHITESPACE@[28; 29)
19 IDENT@[29; 30) 19 IDENT@[29; 30) "C"
20 L_PAREN@[30; 31) 20 L_PAREN@[30; 31)
21 R_PAREN@[31; 32) 21 R_PAREN@[31; 32)
22 SEMI@[32; 33) 22 SEMI@[32; 33)
@@ -24,42 +24,42 @@ FILE@[0; 97)
24 STRUCT_ITEM@[35; 76) 24 STRUCT_ITEM@[35; 76)
25 STRUCT_KW@[35; 41) 25 STRUCT_KW@[35; 41)
26 WHITESPACE@[41; 42) 26 WHITESPACE@[41; 42)
27 IDENT@[42; 43) 27 IDENT@[42; 43) "D"
28 WHITESPACE@[43; 44) 28 WHITESPACE@[43; 44)
29 L_CURLY@[44; 45) 29 L_CURLY@[44; 45)
30 NAMED_FIELD@[45; 56) 30 NAMED_FIELD@[45; 56)
31 WHITESPACE@[45; 50) 31 WHITESPACE@[45; 50)
32 IDENT@[50; 51) 32 IDENT@[50; 51) "a"
33 COLON@[51; 52) 33 COLON@[51; 52)
34 WHITESPACE@[52; 53) 34 WHITESPACE@[52; 53)
35 IDENT@[53; 56) 35 IDENT@[53; 56) "u32"
36 COMMA@[56; 57) 36 COMMA@[56; 57)
37 NAMED_FIELD@[57; 73) 37 NAMED_FIELD@[57; 73)
38 VISIBILITY@[57; 66) 38 VISIBILITY@[57; 66)
39 WHITESPACE@[57; 62) 39 WHITESPACE@[57; 62)
40 PUB_KW@[62; 65) 40 PUB_KW@[62; 65)
41 WHITESPACE@[65; 66) 41 WHITESPACE@[65; 66)
42 IDENT@[66; 67) 42 IDENT@[66; 67) "b"
43 COLON@[67; 68) 43 COLON@[67; 68)
44 WHITESPACE@[68; 69) 44 WHITESPACE@[68; 69)
45 IDENT@[69; 72) 45 IDENT@[69; 72) "u32"
46 WHITESPACE@[72; 73) 46 WHITESPACE@[72; 73)
47 R_CURLY@[73; 74) 47 R_CURLY@[73; 74)
48 WHITESPACE@[74; 76) 48 WHITESPACE@[74; 76)
49 STRUCT_ITEM@[76; 97) 49 STRUCT_ITEM@[76; 97)
50 STRUCT_KW@[76; 82) 50 STRUCT_KW@[76; 82)
51 WHITESPACE@[82; 83) 51 WHITESPACE@[82; 83)
52 IDENT@[83; 84) 52 IDENT@[83; 84) "E"
53 L_PAREN@[84; 85) 53 L_PAREN@[84; 85)
54 POS_FIELD@[85; 90) 54 POS_FIELD@[85; 90)
55 VISIBILITY@[85; 89) 55 VISIBILITY@[85; 89)
56 PUB_KW@[85; 88) 56 PUB_KW@[85; 88)
57 WHITESPACE@[88; 89) 57 WHITESPACE@[88; 89)
58 IDENT@[89; 90) 58 IDENT@[89; 90) "x"
59 COMMA@[90; 91) 59 COMMA@[90; 91)
60 POS_FIELD@[91; 93) 60 POS_FIELD@[91; 93)
61 WHITESPACE@[91; 92) 61 WHITESPACE@[91; 92)
62 IDENT@[92; 93) 62 IDENT@[92; 93) "y"
63 COMMA@[93; 94) 63 COMMA@[93; 94)
64 R_PAREN@[94; 95) 64 R_PAREN@[94; 95)
65 SEMI@[95; 96) 65 SEMI@[95; 96)
diff --git a/tests/data/parser/ok/0017_attr_trailing_comma.txt b/tests/data/parser/ok/0017_attr_trailing_comma.txt
index 1b99d7ffd..304417ed9 100644
--- a/tests/data/parser/ok/0017_attr_trailing_comma.txt
+++ b/tests/data/parser/ok/0017_attr_trailing_comma.txt
@@ -4,17 +4,17 @@ FILE@[0; 23)
4 POUND@[0; 1) 4 POUND@[0; 1)
5 L_BRACK@[1; 2) 5 L_BRACK@[1; 2)
6 META_ITEM@[2; 9) 6 META_ITEM@[2; 9)
7 IDENT@[2; 5) 7 IDENT@[2; 5) "foo"
8 L_PAREN@[5; 6) 8 L_PAREN@[5; 6)
9 META_ITEM@[6; 7) 9 META_ITEM@[6; 7)
10 IDENT@[6; 7) 10 IDENT@[6; 7) "a"
11 COMMA@[7; 8) 11 COMMA@[7; 8)
12 R_PAREN@[8; 9) 12 R_PAREN@[8; 9)
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 WHITESPACE@[13; 14)
17 IDENT@[14; 17) 17 IDENT@[14; 17) "foo"
18 L_PAREN@[17; 18) 18 L_PAREN@[17; 18)
19 R_PAREN@[18; 19) 19 R_PAREN@[18; 19)
20 WHITESPACE@[19; 20) 20 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 b2e7ef9d7..6df786f42 100644
--- a/tests/data/parser/ok/0018_struct_type_params.txt
+++ b/tests/data/parser/ok/0018_struct_type_params.txt
@@ -2,53 +2,53 @@ 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 WHITESPACE@[6; 7)
5 IDENT@[7; 9) 5 IDENT@[7; 9) "S1"
6 TYPE_PARAM_LIST@[9; 12) 6 TYPE_PARAM_LIST@[9; 12)
7 L_ANGLE@[9; 10) 7 L_ANGLE@[9; 10)
8 TYPE_PARAM@[10; 11) 8 TYPE_PARAM@[10; 11)
9 IDENT@[10; 11) 9 IDENT@[10; 11) "T"
10 R_ANGLE@[11; 12) 10 R_ANGLE@[11; 12)
11 SEMI@[12; 13) 11 SEMI@[12; 13)
12 WHITESPACE@[13; 14) 12 WHITESPACE@[13; 14)
13 STRUCT_ITEM@[14; 33) 13 STRUCT_ITEM@[14; 33)
14 STRUCT_KW@[14; 20) 14 STRUCT_KW@[14; 20)
15 WHITESPACE@[20; 21) 15 WHITESPACE@[20; 21)
16 IDENT@[21; 23) 16 IDENT@[21; 23) "S2"
17 TYPE_PARAM_LIST@[23; 26) 17 TYPE_PARAM_LIST@[23; 26)
18 L_ANGLE@[23; 24) 18 L_ANGLE@[23; 24)
19 TYPE_PARAM@[24; 25) 19 TYPE_PARAM@[24; 25)
20 IDENT@[24; 25) 20 IDENT@[24; 25) "T"
21 R_ANGLE@[25; 26) 21 R_ANGLE@[25; 26)
22 L_PAREN@[26; 27) 22 L_PAREN@[26; 27)
23 POS_FIELD@[27; 30) 23 POS_FIELD@[27; 30)
24 IDENT@[27; 30) 24 IDENT@[27; 30) "u32"
25 R_PAREN@[30; 31) 25 R_PAREN@[30; 31)
26 SEMI@[31; 32) 26 SEMI@[31; 32)
27 WHITESPACE@[32; 33) 27 WHITESPACE@[32; 33)
28 STRUCT_ITEM@[33; 58) 28 STRUCT_ITEM@[33; 58)
29 STRUCT_KW@[33; 39) 29 STRUCT_KW@[33; 39)
30 WHITESPACE@[39; 40) 30 WHITESPACE@[39; 40)
31 IDENT@[40; 42) 31 IDENT@[40; 42) "S3"
32 TYPE_PARAM_LIST@[42; 46) 32 TYPE_PARAM_LIST@[42; 46)
33 L_ANGLE@[42; 43) 33 L_ANGLE@[42; 43)
34 TYPE_PARAM@[43; 44) 34 TYPE_PARAM@[43; 44)
35 IDENT@[43; 44) 35 IDENT@[43; 44) "T"
36 R_ANGLE@[44; 45) 36 R_ANGLE@[44; 45)
37 WHITESPACE@[45; 46) 37 WHITESPACE@[45; 46)
38 L_CURLY@[46; 47) 38 L_CURLY@[46; 47)
39 NAMED_FIELD@[47; 55) 39 NAMED_FIELD@[47; 55)
40 WHITESPACE@[47; 48) 40 WHITESPACE@[47; 48)
41 IDENT@[48; 49) 41 IDENT@[48; 49) "u"
42 COLON@[49; 50) 42 COLON@[49; 50)
43 WHITESPACE@[50; 51) 43 WHITESPACE@[50; 51)
44 IDENT@[51; 54) 44 IDENT@[51; 54) "u32"
45 WHITESPACE@[54; 55) 45 WHITESPACE@[54; 55)
46 R_CURLY@[55; 56) 46 R_CURLY@[55; 56)
47 WHITESPACE@[56; 58) 47 WHITESPACE@[56; 58)
48 STRUCT_ITEM@[58; 71) 48 STRUCT_ITEM@[58; 71)
49 STRUCT_KW@[58; 64) 49 STRUCT_KW@[58; 64)
50 WHITESPACE@[64; 65) 50 WHITESPACE@[64; 65)
51 IDENT@[65; 67) 51 IDENT@[65; 67) "S4"
52 TYPE_PARAM_LIST@[67; 69) 52 TYPE_PARAM_LIST@[67; 69)
53 L_ANGLE@[67; 68) 53 L_ANGLE@[67; 68)
54 R_ANGLE@[68; 69) 54 R_ANGLE@[68; 69)
@@ -57,22 +57,22 @@ FILE@[0; 290)
57 STRUCT_ITEM@[71; 86) 57 STRUCT_ITEM@[71; 86)
58 STRUCT_KW@[71; 77) 58 STRUCT_KW@[71; 77)
59 WHITESPACE@[77; 78) 59 WHITESPACE@[77; 78)
60 IDENT@[78; 80) 60 IDENT@[78; 80) "S5"
61 TYPE_PARAM_LIST@[80; 84) 61 TYPE_PARAM_LIST@[80; 84)
62 L_ANGLE@[80; 81) 62 L_ANGLE@[80; 81)
63 LIFETIME_PARAM@[81; 83) 63 LIFETIME_PARAM@[81; 83)
64 LIFETIME@[81; 83) 64 LIFETIME@[81; 83) "'a"
65 R_ANGLE@[83; 84) 65 R_ANGLE@[83; 84)
66 SEMI@[84; 85) 66 SEMI@[84; 85)
67 WHITESPACE@[85; 86) 67 WHITESPACE@[85; 86)
68 STRUCT_ITEM@[86; 102) 68 STRUCT_ITEM@[86; 102)
69 STRUCT_KW@[86; 92) 69 STRUCT_KW@[86; 92)
70 WHITESPACE@[92; 93) 70 WHITESPACE@[92; 93)
71 IDENT@[93; 95) 71 IDENT@[93; 95) "S6"
72 TYPE_PARAM_LIST@[95; 100) 72 TYPE_PARAM_LIST@[95; 100)
73 L_ANGLE@[95; 96) 73 L_ANGLE@[95; 96)
74 LIFETIME_PARAM@[96; 99) 74 LIFETIME_PARAM@[96; 99)
75 LIFETIME@[96; 98) 75 LIFETIME@[96; 98) "'a"
76 COLON@[98; 99) 76 COLON@[98; 99)
77 R_ANGLE@[99; 100) 77 R_ANGLE@[99; 100)
78 SEMI@[100; 101) 78 SEMI@[100; 101)
@@ -80,28 +80,28 @@ FILE@[0; 290)
80 STRUCT_ITEM@[102; 121) 80 STRUCT_ITEM@[102; 121)
81 STRUCT_KW@[102; 108) 81 STRUCT_KW@[102; 108)
82 WHITESPACE@[108; 109) 82 WHITESPACE@[108; 109)
83 IDENT@[109; 111) 83 IDENT@[109; 111) "S7"
84 TYPE_PARAM_LIST@[111; 119) 84 TYPE_PARAM_LIST@[111; 119)
85 L_ANGLE@[111; 112) 85 L_ANGLE@[111; 112)
86 LIFETIME_PARAM@[112; 118) 86 LIFETIME_PARAM@[112; 118)
87 LIFETIME@[112; 114) 87 LIFETIME@[112; 114) "'a"
88 COLON@[114; 115) 88 COLON@[114; 115)
89 WHITESPACE@[115; 116) 89 WHITESPACE@[115; 116)
90 LIFETIME@[116; 118) 90 LIFETIME@[116; 118) "'b"
91 R_ANGLE@[118; 119) 91 R_ANGLE@[118; 119)
92 SEMI@[119; 120) 92 SEMI@[119; 120)
93 WHITESPACE@[120; 121) 93 WHITESPACE@[120; 121)
94 STRUCT_ITEM@[121; 143) 94 STRUCT_ITEM@[121; 143)
95 STRUCT_KW@[121; 127) 95 STRUCT_KW@[121; 127)
96 WHITESPACE@[127; 128) 96 WHITESPACE@[127; 128)
97 IDENT@[128; 130) 97 IDENT@[128; 130) "S8"
98 TYPE_PARAM_LIST@[130; 141) 98 TYPE_PARAM_LIST@[130; 141)
99 L_ANGLE@[130; 131) 99 L_ANGLE@[130; 131)
100 LIFETIME_PARAM@[131; 140) 100 LIFETIME_PARAM@[131; 140)
101 LIFETIME@[131; 133) 101 LIFETIME@[131; 133) "'a"
102 COLON@[133; 134) 102 COLON@[133; 134)
103 WHITESPACE@[134; 135) 103 WHITESPACE@[134; 135)
104 LIFETIME@[135; 137) 104 LIFETIME@[135; 137) "'b"
105 WHITESPACE@[137; 138) 105 WHITESPACE@[137; 138)
106 PLUS@[138; 139) 106 PLUS@[138; 139)
107 WHITESPACE@[139; 140) 107 WHITESPACE@[139; 140)
@@ -111,29 +111,29 @@ FILE@[0; 290)
111 STRUCT_ITEM@[143; 167) 111 STRUCT_ITEM@[143; 167)
112 STRUCT_KW@[143; 149) 112 STRUCT_KW@[143; 149)
113 WHITESPACE@[149; 150) 113 WHITESPACE@[149; 150)
114 IDENT@[150; 152) 114 IDENT@[150; 152) "S9"
115 TYPE_PARAM_LIST@[152; 165) 115 TYPE_PARAM_LIST@[152; 165)
116 L_ANGLE@[152; 153) 116 L_ANGLE@[152; 153)
117 LIFETIME_PARAM@[153; 164) 117 LIFETIME_PARAM@[153; 164)
118 LIFETIME@[153; 155) 118 LIFETIME@[153; 155) "'a"
119 COLON@[155; 156) 119 COLON@[155; 156)
120 WHITESPACE@[156; 157) 120 WHITESPACE@[156; 157)
121 LIFETIME@[157; 159) 121 LIFETIME@[157; 159) "'b"
122 WHITESPACE@[159; 160) 122 WHITESPACE@[159; 160)
123 PLUS@[160; 161) 123 PLUS@[160; 161)
124 WHITESPACE@[161; 162) 124 WHITESPACE@[161; 162)
125 LIFETIME@[162; 164) 125 LIFETIME@[162; 164) "'c"
126 R_ANGLE@[164; 165) 126 R_ANGLE@[164; 165)
127 SEMI@[165; 166) 127 SEMI@[165; 166)
128 WHITESPACE@[166; 167) 128 WHITESPACE@[166; 167)
129 STRUCT_ITEM@[167; 184) 129 STRUCT_ITEM@[167; 184)
130 STRUCT_KW@[167; 173) 130 STRUCT_KW@[167; 173)
131 WHITESPACE@[173; 174) 131 WHITESPACE@[173; 174)
132 IDENT@[174; 177) 132 IDENT@[174; 177) "S10"
133 TYPE_PARAM_LIST@[177; 182) 133 TYPE_PARAM_LIST@[177; 182)
134 L_ANGLE@[177; 178) 134 L_ANGLE@[177; 178)
135 LIFETIME_PARAM@[178; 180) 135 LIFETIME_PARAM@[178; 180)
136 LIFETIME@[178; 180) 136 LIFETIME@[178; 180) "'a"
137 COMMA@[180; 181) 137 COMMA@[180; 181)
138 R_ANGLE@[181; 182) 138 R_ANGLE@[181; 182)
139 SEMI@[182; 183) 139 SEMI@[182; 183)
@@ -141,37 +141,37 @@ FILE@[0; 290)
141 STRUCT_ITEM@[184; 204) 141 STRUCT_ITEM@[184; 204)
142 STRUCT_KW@[184; 190) 142 STRUCT_KW@[184; 190)
143 WHITESPACE@[190; 191) 143 WHITESPACE@[190; 191)
144 IDENT@[191; 194) 144 IDENT@[191; 194) "S11"
145 TYPE_PARAM_LIST@[194; 202) 145 TYPE_PARAM_LIST@[194; 202)
146 L_ANGLE@[194; 195) 146 L_ANGLE@[194; 195)
147 LIFETIME_PARAM@[195; 197) 147 LIFETIME_PARAM@[195; 197)
148 LIFETIME@[195; 197) 148 LIFETIME@[195; 197) "'a"
149 COMMA@[197; 198) 149 COMMA@[197; 198)
150 LIFETIME_PARAM@[198; 201) 150 LIFETIME_PARAM@[198; 201)
151 WHITESPACE@[198; 199) 151 WHITESPACE@[198; 199)
152 LIFETIME@[199; 201) 152 LIFETIME@[199; 201) "'b"
153 R_ANGLE@[201; 202) 153 R_ANGLE@[201; 202)
154 SEMI@[202; 203) 154 SEMI@[202; 203)
155 WHITESPACE@[203; 204) 155 WHITESPACE@[203; 204)
156 STRUCT_ITEM@[204; 235) 156 STRUCT_ITEM@[204; 235)
157 STRUCT_KW@[204; 210) 157 STRUCT_KW@[204; 210)
158 WHITESPACE@[210; 211) 158 WHITESPACE@[210; 211)
159 IDENT@[211; 214) 159 IDENT@[211; 214) "S12"
160 TYPE_PARAM_LIST@[214; 232) 160 TYPE_PARAM_LIST@[214; 232)
161 L_ANGLE@[214; 215) 161 L_ANGLE@[214; 215)
162 LIFETIME_PARAM@[215; 222) 162 LIFETIME_PARAM@[215; 222)
163 LIFETIME@[215; 217) 163 LIFETIME@[215; 217) "'a"
164 COLON@[217; 218) 164 COLON@[217; 218)
165 WHITESPACE@[218; 219) 165 WHITESPACE@[218; 219)
166 LIFETIME@[219; 221) 166 LIFETIME@[219; 221) "'b"
167 PLUS@[221; 222) 167 PLUS@[221; 222)
168 COMMA@[222; 223) 168 COMMA@[222; 223)
169 LIFETIME_PARAM@[223; 230) 169 LIFETIME_PARAM@[223; 230)
170 WHITESPACE@[223; 224) 170 WHITESPACE@[223; 224)
171 LIFETIME@[224; 226) 171 LIFETIME@[224; 226) "'b"
172 COLON@[226; 227) 172 COLON@[226; 227)
173 WHITESPACE@[227; 228) 173 WHITESPACE@[227; 228)
174 LIFETIME@[228; 230) 174 LIFETIME@[228; 230) "'c"
175 COMMA@[230; 231) 175 COMMA@[230; 231)
176 R_ANGLE@[231; 232) 176 R_ANGLE@[231; 232)
177 SEMI@[232; 233) 177 SEMI@[232; 233)
@@ -179,45 +179,45 @@ FILE@[0; 290)
179 STRUCT_ITEM@[235; 250) 179 STRUCT_ITEM@[235; 250)
180 STRUCT_KW@[235; 241) 180 STRUCT_KW@[235; 241)
181 WHITESPACE@[241; 242) 181 WHITESPACE@[241; 242)
182 IDENT@[242; 245) 182 IDENT@[242; 245) "S13"
183 TYPE_PARAM_LIST@[245; 248) 183 TYPE_PARAM_LIST@[245; 248)
184 L_ANGLE@[245; 246) 184 L_ANGLE@[245; 246)
185 TYPE_PARAM@[246; 247) 185 TYPE_PARAM@[246; 247)
186 IDENT@[246; 247) 186 IDENT@[246; 247) "T"
187 R_ANGLE@[247; 248) 187 R_ANGLE@[247; 248)
188 SEMI@[248; 249) 188 SEMI@[248; 249)
189 WHITESPACE@[249; 250) 189 WHITESPACE@[249; 250)
190 STRUCT_ITEM@[250; 268) 190 STRUCT_ITEM@[250; 268)
191 STRUCT_KW@[250; 256) 191 STRUCT_KW@[250; 256)
192 WHITESPACE@[256; 257) 192 WHITESPACE@[256; 257)
193 IDENT@[257; 260) 193 IDENT@[257; 260) "S14"
194 TYPE_PARAM_LIST@[260; 266) 194 TYPE_PARAM_LIST@[260; 266)
195 L_ANGLE@[260; 261) 195 L_ANGLE@[260; 261)
196 TYPE_PARAM@[261; 262) 196 TYPE_PARAM@[261; 262)
197 IDENT@[261; 262) 197 IDENT@[261; 262) "T"
198 COMMA@[262; 263) 198 COMMA@[262; 263)
199 TYPE_PARAM@[263; 265) 199 TYPE_PARAM@[263; 265)
200 WHITESPACE@[263; 264) 200 WHITESPACE@[263; 264)
201 IDENT@[264; 265) 201 IDENT@[264; 265) "U"
202 R_ANGLE@[265; 266) 202 R_ANGLE@[265; 266)
203 SEMI@[266; 267) 203 SEMI@[266; 267)
204 WHITESPACE@[267; 268) 204 WHITESPACE@[267; 268)
205 STRUCT_ITEM@[268; 290) 205 STRUCT_ITEM@[268; 290)
206 STRUCT_KW@[268; 274) 206 STRUCT_KW@[268; 274)
207 WHITESPACE@[274; 275) 207 WHITESPACE@[274; 275)
208 IDENT@[275; 278) 208 IDENT@[275; 278) "S15"
209 TYPE_PARAM_LIST@[278; 288) 209 TYPE_PARAM_LIST@[278; 288)
210 L_ANGLE@[278; 279) 210 L_ANGLE@[278; 279)
211 LIFETIME_PARAM@[279; 281) 211 LIFETIME_PARAM@[279; 281)
212 LIFETIME@[279; 281) 212 LIFETIME@[279; 281) "'a"
213 COMMA@[281; 282) 213 COMMA@[281; 282)
214 TYPE_PARAM@[282; 284) 214 TYPE_PARAM@[282; 284)
215 WHITESPACE@[282; 283) 215 WHITESPACE@[282; 283)
216 IDENT@[283; 284) 216 IDENT@[283; 284) "T"
217 COMMA@[284; 285) 217 COMMA@[284; 285)
218 TYPE_PARAM@[285; 287) 218 TYPE_PARAM@[285; 287)
219 WHITESPACE@[285; 286) 219 WHITESPACE@[285; 286)
220 IDENT@[286; 287) 220 IDENT@[286; 287) "U"
221 R_ANGLE@[287; 288) 221 R_ANGLE@[287; 288)
222 SEMI@[288; 289) 222 SEMI@[288; 289)
223 WHITESPACE@[289; 290) 223 WHITESPACE@[289; 290)
diff --git a/tests/data/parser/ok/0019_enums.rs b/tests/data/parser/ok/0019_enums.rs
new file mode 100644
index 000000000..7a1afa0e6
--- /dev/null
+++ b/tests/data/parser/ok/0019_enums.rs
@@ -0,0 +1,25 @@
1enum E1 {
2}
3
4enum E2<T> {
5}
6
7enum E3 {
8 X
9}
10
11enum E4 {
12 X,
13}
14
15enum E5 {
16 A,
17 B = 92,
18 C {
19 a: u32,
20 pub b: f64,
21 },
22 F {},
23 D(u32,),
24 E(),
25}
diff --git a/tests/data/parser/ok/0019_enums.txt b/tests/data/parser/ok/0019_enums.txt
new file mode 100644
index 000000000..dfb8e1f0c
--- /dev/null
+++ b/tests/data/parser/ok/0019_enums.txt
@@ -0,0 +1,118 @@
1FILE@[0; 182)
2 ENUM_ITEM@[0; 13)
3 ENUM_KW@[0; 4)
4 WHITESPACE@[4; 5)
5 IDENT@[5; 7) "E1"
6 WHITESPACE@[7; 8)
7 L_CURLY@[8; 9)
8 WHITESPACE@[9; 10)
9 R_CURLY@[10; 11)
10 WHITESPACE@[11; 13)
11 ENUM_ITEM@[13; 29)
12 ENUM_KW@[13; 17)
13 WHITESPACE@[17; 18)
14 IDENT@[18; 20) "E2"
15 TYPE_PARAM_LIST@[20; 24)
16 L_ANGLE@[20; 21)
17 TYPE_PARAM@[21; 22)
18 IDENT@[21; 22) "T"
19 R_ANGLE@[22; 23)
20 WHITESPACE@[23; 24)
21 L_CURLY@[24; 25)
22 WHITESPACE@[25; 26)
23 R_CURLY@[26; 27)
24 WHITESPACE@[27; 29)
25 ENUM_ITEM@[29; 48)
26 ENUM_KW@[29; 33)
27 WHITESPACE@[33; 34)
28 IDENT@[34; 36) "E3"
29 WHITESPACE@[36; 37)
30 L_CURLY@[37; 38)
31 ENUM_VARIANT@[38; 45)
32 WHITESPACE@[38; 43)
33 IDENT@[43; 44) "X"
34 WHITESPACE@[44; 45)
35 R_CURLY@[45; 46)
36 WHITESPACE@[46; 48)
37 ENUM_ITEM@[48; 68)
38 ENUM_KW@[48; 52)
39 WHITESPACE@[52; 53)
40 IDENT@[53; 55) "E4"
41 WHITESPACE@[55; 56)
42 L_CURLY@[56; 57)
43 ENUM_VARIANT@[57; 63)
44 WHITESPACE@[57; 62)
45 IDENT@[62; 63) "X"
46 COMMA@[63; 64)
47 WHITESPACE@[64; 65)
48 R_CURLY@[65; 66)
49 WHITESPACE@[66; 68)
50 ENUM_ITEM@[68; 182)
51 ENUM_KW@[68; 72)
52 WHITESPACE@[72; 73)
53 IDENT@[73; 75) "E5"
54 WHITESPACE@[75; 76)
55 L_CURLY@[76; 77)
56 ENUM_VARIANT@[77; 83)
57 WHITESPACE@[77; 82)
58 IDENT@[82; 83) "A"
59 COMMA@[83; 84)
60 ENUM_VARIANT@[84; 95)
61 WHITESPACE@[84; 89)
62 IDENT@[89; 90) "B"
63 WHITESPACE@[90; 91)
64 EQ@[91; 92)
65 LITERAL@[92; 95)
66 WHITESPACE@[92; 93)
67 INT_NUMBER@[93; 95)
68 COMMA@[95; 96)
69 ENUM_VARIANT@[96; 146)
70 WHITESPACE@[96; 101)
71 IDENT@[101; 102) "C"
72 WHITESPACE@[102; 103)
73 L_CURLY@[103; 104)
74 NAMED_FIELD@[104; 119)
75 WHITESPACE@[104; 113)
76 IDENT@[113; 114) "a"
77 COLON@[114; 115)
78 WHITESPACE@[115; 116)
79 IDENT@[116; 119) "u32"
80 COMMA@[119; 120)
81 NAMED_FIELD@[120; 139)
82 VISIBILITY@[120; 133)
83 WHITESPACE@[120; 129)
84 PUB_KW@[129; 132)
85 WHITESPACE@[132; 133)
86 IDENT@[133; 134) "b"
87 COLON@[134; 135)
88 WHITESPACE@[135; 136)
89 IDENT@[136; 139) "f64"
90 COMMA@[139; 140)
91 WHITESPACE@[140; 145)
92 R_CURLY@[145; 146)
93 COMMA@[146; 147)
94 ENUM_VARIANT@[147; 156)
95 WHITESPACE@[147; 152)
96 IDENT@[152; 153) "F"
97 WHITESPACE@[153; 154)
98 L_CURLY@[154; 155)
99 R_CURLY@[155; 156)
100 COMMA@[156; 157)
101 ENUM_VARIANT@[157; 169)
102 WHITESPACE@[157; 162)
103 IDENT@[162; 163) "D"
104 L_PAREN@[163; 164)
105 POS_FIELD@[164; 167)
106 IDENT@[164; 167) "u32"
107 COMMA@[167; 168)
108 R_PAREN@[168; 169)
109 COMMA@[169; 170)
110 ENUM_VARIANT@[170; 178)
111 WHITESPACE@[170; 175)
112 IDENT@[175; 176) "E"
113 L_PAREN@[176; 177)
114 R_PAREN@[177; 178)
115 COMMA@[178; 179)
116 WHITESPACE@[179; 180)
117 R_CURLY@[180; 181)
118 WHITESPACE@[181; 182)