aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-02-17 22:06:48 +0000
committerAleksey Kladov <[email protected]>2018-02-17 22:06:48 +0000
commitc6f4a06b4297f498da4bc2cd747aa38effb855b0 (patch)
treea383a2e71da6029bbd6a5669b5f9d2b99a1b0a92 /tests
parent8c4c5b5b802a204bfeef52e215358ae838900f1f (diff)
G: value_parameters, patterns & let statement
Diffstat (limited to 'tests')
-rw-r--r--tests/data/lexer/0011_keywords.rs2
-rw-r--r--tests/data/lexer/0011_keywords.txt4
-rw-r--r--tests/data/parser/err/0005_attribute_recover.txt22
-rw-r--r--tests/data/parser/err/0007_stray_curly_in_file.txt7
-rw-r--r--tests/data/parser/err/0008_item_block_recovery.txt22
-rw-r--r--tests/data/parser/inline/0001_const_unsafe_fn.txt9
-rw-r--r--tests/data/parser/inline/0002_const_fn.txt9
-rw-r--r--tests/data/parser/inline/0004_extern_fn.txt9
-rw-r--r--tests/data/parser/inline/0011_unsafe_fn.txt9
-rw-r--r--tests/data/parser/inline/0012_unsafe_extern_fn.txt9
-rw-r--r--tests/data/parser/inline/0013_unsafe_block_in_mod.txt14
-rw-r--r--tests/data/parser/inline/0033_fn_value_parameters.rs4
-rw-r--r--tests/data/parser/inline/0033_fn_value_parameters.txt95
-rw-r--r--tests/data/parser/inline/0034_bind_pat.rs6
-rw-r--r--tests/data/parser/inline/0034_bind_pat.txt81
-rw-r--r--tests/data/parser/inline/0035_ref_pat.rs4
-rw-r--r--tests/data/parser/inline/0035_ref_pat.txt48
-rw-r--r--tests/data/parser/inline/0036_placeholder_pat.rs1
-rw-r--r--tests/data/parser/inline/0036_placeholder_pat.txt27
-rw-r--r--tests/data/parser/ok/0005_fn_item.txt11
-rw-r--r--tests/data/parser/ok/0008_mod_item.txt11
-rw-r--r--tests/data/parser/ok/0011_outer_attribute.txt9
-rw-r--r--tests/data/parser/ok/0012_visibility.txt45
-rw-r--r--tests/data/parser/ok/0017_attr_trailing_comma.txt9
-rw-r--r--tests/data/parser/ok/0021_extern_fn.txt33
25 files changed, 397 insertions, 103 deletions
diff --git a/tests/data/lexer/0011_keywords.rs b/tests/data/lexer/0011_keywords.rs
index 7a9509f3c..97ff3f954 100644
--- a/tests/data/lexer/0011_keywords.rs
+++ b/tests/data/lexer/0011_keywords.rs
@@ -1,3 +1,3 @@
1fn use struct trait enum impl true false as extern crate 1fn use struct trait enum impl true false as extern crate
2mod pub self super in where for loop while if match const 2mod pub self super in where for loop while if match const
3static mut type 3static mut type ref let
diff --git a/tests/data/lexer/0011_keywords.txt b/tests/data/lexer/0011_keywords.txt
index 96528952b..851a671f5 100644
--- a/tests/data/lexer/0011_keywords.txt
+++ b/tests/data/lexer/0011_keywords.txt
@@ -49,4 +49,8 @@ WHITESPACE 1 " "
49MUT_KW 3 "mut" 49MUT_KW 3 "mut"
50WHITESPACE 1 " " 50WHITESPACE 1 " "
51TYPE_KW 4 "type" 51TYPE_KW 4 "type"
52WHITESPACE 1 " "
53REF_KW 3 "ref"
54WHITESPACE 1 " "
55LET_KW 3 "let"
52WHITESPACE 1 "\n" 56WHITESPACE 1 "\n"
diff --git a/tests/data/parser/err/0005_attribute_recover.txt b/tests/data/parser/err/0005_attribute_recover.txt
index 15e77f63b..731f5f2f8 100644
--- a/tests/data/parser/err/0005_attribute_recover.txt
+++ b/tests/data/parser/err/0005_attribute_recover.txt
@@ -28,11 +28,12 @@ FILE@[0; 54)
28 IDENT@[22; 25) "foo" 28 IDENT@[22; 25) "foo"
29 L_PAREN@[25; 26) 29 L_PAREN@[25; 26)
30 R_PAREN@[26; 27) 30 R_PAREN@[26; 27)
31 WHITESPACE@[27; 28) 31 BLOCK@[27; 34)
32 L_CURLY@[28; 29) 32 WHITESPACE@[27; 28)
33 WHITESPACE@[29; 30) 33 L_CURLY@[28; 29)
34 R_CURLY@[30; 31) 34 WHITESPACE@[29; 30)
35 WHITESPACE@[31; 34) 35 R_CURLY@[30; 31)
36 WHITESPACE@[31; 34)
36 FN_ITEM@[34; 54) 37 FN_ITEM@[34; 54)
37 ATTR@[34; 41) 38 ATTR@[34; 41)
38 POUND@[34; 35) 39 POUND@[34; 35)
@@ -49,8 +50,9 @@ FILE@[0; 54)
49 IDENT@[44; 47) "foo" 50 IDENT@[44; 47) "foo"
50 L_PAREN@[47; 48) 51 L_PAREN@[47; 48)
51 R_PAREN@[48; 49) 52 R_PAREN@[48; 49)
52 WHITESPACE@[49; 50) 53 BLOCK@[49; 54)
53 L_CURLY@[50; 51) 54 WHITESPACE@[49; 50)
54 WHITESPACE@[51; 52) 55 L_CURLY@[50; 51)
55 R_CURLY@[52; 53) 56 WHITESPACE@[51; 52)
56 WHITESPACE@[53; 54) 57 R_CURLY@[52; 53)
58 WHITESPACE@[53; 54)
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 f20807bfe..8a3cb5096 100644
--- a/tests/data/parser/err/0007_stray_curly_in_file.txt
+++ b/tests/data/parser/err/0007_stray_curly_in_file.txt
@@ -21,9 +21,10 @@ FILE@[0; 31)
21 IDENT@[20; 23) "foo" 21 IDENT@[20; 23) "foo"
22 L_PAREN@[23; 24) 22 L_PAREN@[23; 24)
23 R_PAREN@[24; 25) 23 R_PAREN@[24; 25)
24 L_CURLY@[25; 26) 24 BLOCK@[25; 29)
25 R_CURLY@[26; 27) 25 L_CURLY@[25; 26)
26 WHITESPACE@[27; 29) 26 R_CURLY@[26; 27)
27 WHITESPACE@[27; 29)
27 ERROR@[29; 31) 28 ERROR@[29; 31)
28 err: `expected item` 29 err: `expected item`
29 R_CURLY@[29; 30) 30 R_CURLY@[29; 30)
diff --git a/tests/data/parser/err/0008_item_block_recovery.txt b/tests/data/parser/err/0008_item_block_recovery.txt
index ddfb4b4dc..0e2aae7cc 100644
--- a/tests/data/parser/err/0008_item_block_recovery.txt
+++ b/tests/data/parser/err/0008_item_block_recovery.txt
@@ -6,11 +6,12 @@ FILE@[0; 95)
6 IDENT@[3; 6) "foo" 6 IDENT@[3; 6) "foo"
7 L_PAREN@[6; 7) 7 L_PAREN@[6; 7)
8 R_PAREN@[7; 8) 8 R_PAREN@[7; 8)
9 WHITESPACE@[8; 9) 9 BLOCK@[8; 14)
10 L_CURLY@[9; 10) 10 WHITESPACE@[8; 9)
11 WHITESPACE@[10; 11) 11 L_CURLY@[9; 10)
12 R_CURLY@[11; 12) 12 WHITESPACE@[10; 11)
13 WHITESPACE@[12; 14) 13 R_CURLY@[11; 12)
14 WHITESPACE@[12; 14)
14 ERROR@[14; 17) 15 ERROR@[14; 17)
15 err: `expected item` 16 err: `expected item`
16 IDENT@[14; 17) "bar" 17 IDENT@[14; 17) "bar"
@@ -56,8 +57,9 @@ FILE@[0; 95)
56 IDENT@[85; 88) "baz" 57 IDENT@[85; 88) "baz"
57 L_PAREN@[88; 89) 58 L_PAREN@[88; 89)
58 R_PAREN@[89; 90) 59 R_PAREN@[89; 90)
59 WHITESPACE@[90; 91) 60 BLOCK@[90; 95)
60 L_CURLY@[91; 92) 61 WHITESPACE@[90; 91)
61 WHITESPACE@[92; 93) 62 L_CURLY@[91; 92)
62 R_CURLY@[93; 94) 63 WHITESPACE@[92; 93)
63 WHITESPACE@[94; 95) 64 R_CURLY@[93; 94)
65 WHITESPACE@[94; 95)
diff --git a/tests/data/parser/inline/0001_const_unsafe_fn.txt b/tests/data/parser/inline/0001_const_unsafe_fn.txt
index 59bf89ddb..48de02284 100644
--- a/tests/data/parser/inline/0001_const_unsafe_fn.txt
+++ b/tests/data/parser/inline/0001_const_unsafe_fn.txt
@@ -10,7 +10,8 @@ FILE@[0; 25)
10 IDENT@[16; 19) "foo" 10 IDENT@[16; 19) "foo"
11 L_PAREN@[19; 20) 11 L_PAREN@[19; 20)
12 R_PAREN@[20; 21) 12 R_PAREN@[20; 21)
13 WHITESPACE@[21; 22) 13 BLOCK@[21; 25)
14 L_CURLY@[22; 23) 14 WHITESPACE@[21; 22)
15 R_CURLY@[23; 24) 15 L_CURLY@[22; 23)
16 WHITESPACE@[24; 25) 16 R_CURLY@[23; 24)
17 WHITESPACE@[24; 25)
diff --git a/tests/data/parser/inline/0002_const_fn.txt b/tests/data/parser/inline/0002_const_fn.txt
index 2e9d18f7f..733e47656 100644
--- a/tests/data/parser/inline/0002_const_fn.txt
+++ b/tests/data/parser/inline/0002_const_fn.txt
@@ -8,7 +8,8 @@ FILE@[0; 18)
8 IDENT@[9; 12) "foo" 8 IDENT@[9; 12) "foo"
9 L_PAREN@[12; 13) 9 L_PAREN@[12; 13)
10 R_PAREN@[13; 14) 10 R_PAREN@[13; 14)
11 WHITESPACE@[14; 15) 11 BLOCK@[14; 18)
12 L_CURLY@[15; 16) 12 WHITESPACE@[14; 15)
13 R_CURLY@[16; 17) 13 L_CURLY@[15; 16)
14 WHITESPACE@[17; 18) 14 R_CURLY@[16; 17)
15 WHITESPACE@[17; 18)
diff --git a/tests/data/parser/inline/0004_extern_fn.txt b/tests/data/parser/inline/0004_extern_fn.txt
index 70a909ccf..1caeffe3b 100644
--- a/tests/data/parser/inline/0004_extern_fn.txt
+++ b/tests/data/parser/inline/0004_extern_fn.txt
@@ -9,7 +9,8 @@ FILE@[0; 19)
9 IDENT@[10; 13) "foo" 9 IDENT@[10; 13) "foo"
10 L_PAREN@[13; 14) 10 L_PAREN@[13; 14)
11 R_PAREN@[14; 15) 11 R_PAREN@[14; 15)
12 WHITESPACE@[15; 16) 12 BLOCK@[15; 19)
13 L_CURLY@[16; 17) 13 WHITESPACE@[15; 16)
14 R_CURLY@[17; 18) 14 L_CURLY@[16; 17)
15 WHITESPACE@[18; 19) 15 R_CURLY@[17; 18)
16 WHITESPACE@[18; 19)
diff --git a/tests/data/parser/inline/0011_unsafe_fn.txt b/tests/data/parser/inline/0011_unsafe_fn.txt
index ed790fe22..d89ad451f 100644
--- a/tests/data/parser/inline/0011_unsafe_fn.txt
+++ b/tests/data/parser/inline/0011_unsafe_fn.txt
@@ -8,7 +8,8 @@ FILE@[0; 19)
8 IDENT@[10; 13) "foo" 8 IDENT@[10; 13) "foo"
9 L_PAREN@[13; 14) 9 L_PAREN@[13; 14)
10 R_PAREN@[14; 15) 10 R_PAREN@[14; 15)
11 WHITESPACE@[15; 16) 11 BLOCK@[15; 19)
12 L_CURLY@[16; 17) 12 WHITESPACE@[15; 16)
13 R_CURLY@[17; 18) 13 L_CURLY@[16; 17)
14 WHITESPACE@[18; 19) 14 R_CURLY@[17; 18)
15 WHITESPACE@[18; 19)
diff --git a/tests/data/parser/inline/0012_unsafe_extern_fn.txt b/tests/data/parser/inline/0012_unsafe_extern_fn.txt
index 3c8a15d12..b4c602380 100644
--- a/tests/data/parser/inline/0012_unsafe_extern_fn.txt
+++ b/tests/data/parser/inline/0012_unsafe_extern_fn.txt
@@ -13,7 +13,8 @@ FILE@[0; 30)
13 IDENT@[21; 24) "foo" 13 IDENT@[21; 24) "foo"
14 L_PAREN@[24; 25) 14 L_PAREN@[24; 25)
15 R_PAREN@[25; 26) 15 R_PAREN@[25; 26)
16 WHITESPACE@[26; 27) 16 BLOCK@[26; 30)
17 L_CURLY@[27; 28) 17 WHITESPACE@[26; 27)
18 R_CURLY@[28; 29) 18 L_CURLY@[27; 28)
19 WHITESPACE@[29; 30) 19 R_CURLY@[28; 29)
20 WHITESPACE@[29; 30)
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 305e3058d..5ddc1736c 100644
--- a/tests/data/parser/inline/0013_unsafe_block_in_mod.txt
+++ b/tests/data/parser/inline/0013_unsafe_block_in_mod.txt
@@ -6,9 +6,10 @@ FILE@[0; 33)
6 IDENT@[3; 6) "foo" 6 IDENT@[3; 6) "foo"
7 L_PAREN@[6; 7) 7 L_PAREN@[6; 7)
8 R_PAREN@[7; 8) 8 R_PAREN@[7; 8)
9 L_CURLY@[8; 9) 9 BLOCK@[8; 11)
10 R_CURLY@[9; 10) 10 L_CURLY@[8; 9)
11 WHITESPACE@[10; 11) 11 R_CURLY@[9; 10)
12 WHITESPACE@[10; 11)
12 UNSAFE_KW@[11; 17) 13 UNSAFE_KW@[11; 17)
13 ERROR@[17; 22) 14 ERROR@[17; 22)
14 err: `expected `trait`, `impl` or `fn`` 15 err: `expected `trait`, `impl` or `fn``
@@ -24,6 +25,7 @@ FILE@[0; 33)
24 IDENT@[25; 28) "bar" 25 IDENT@[25; 28) "bar"
25 L_PAREN@[28; 29) 26 L_PAREN@[28; 29)
26 R_PAREN@[29; 30) 27 R_PAREN@[29; 30)
27 L_CURLY@[30; 31) 28 BLOCK@[30; 33)
28 R_CURLY@[31; 32) 29 L_CURLY@[30; 31)
29 WHITESPACE@[32; 33) 30 R_CURLY@[31; 32)
31 WHITESPACE@[32; 33)
diff --git a/tests/data/parser/inline/0033_fn_value_parameters.rs b/tests/data/parser/inline/0033_fn_value_parameters.rs
new file mode 100644
index 000000000..9d55bedbb
--- /dev/null
+++ b/tests/data/parser/inline/0033_fn_value_parameters.rs
@@ -0,0 +1,4 @@
1fn a() {}
2fn b(x: i32) {}
3fn c(x: i32, ) {}
4fn d(x: i32, y: ()) {}
diff --git a/tests/data/parser/inline/0033_fn_value_parameters.txt b/tests/data/parser/inline/0033_fn_value_parameters.txt
new file mode 100644
index 000000000..b0a5ff6b4
--- /dev/null
+++ b/tests/data/parser/inline/0033_fn_value_parameters.txt
@@ -0,0 +1,95 @@
1FILE@[0; 67)
2 FN_ITEM@[0; 10)
3 FN_KW@[0; 2)
4 NAME@[2; 4)
5 WHITESPACE@[2; 3)
6 IDENT@[3; 4) "a"
7 L_PAREN@[4; 5)
8 R_PAREN@[5; 6)
9 BLOCK@[6; 10)
10 WHITESPACE@[6; 7)
11 L_CURLY@[7; 8)
12 R_CURLY@[8; 9)
13 WHITESPACE@[9; 10)
14 FN_ITEM@[10; 26)
15 FN_KW@[10; 12)
16 NAME@[12; 14)
17 WHITESPACE@[12; 13)
18 IDENT@[13; 14) "b"
19 L_PAREN@[14; 15)
20 VALUE_PARAMETER@[15; 21)
21 BIND_PAT@[15; 16)
22 NAME@[15; 16)
23 IDENT@[15; 16) "x"
24 COLON@[16; 17)
25 PATH_TYPE@[17; 21)
26 PATH@[17; 21)
27 PATH_SEGMENT@[17; 21)
28 NAME_REF@[17; 21)
29 WHITESPACE@[17; 18)
30 IDENT@[18; 21) "i32"
31 R_PAREN@[21; 22)
32 BLOCK@[22; 26)
33 WHITESPACE@[22; 23)
34 L_CURLY@[23; 24)
35 R_CURLY@[24; 25)
36 WHITESPACE@[25; 26)
37 FN_ITEM@[26; 44)
38 FN_KW@[26; 28)
39 NAME@[28; 30)
40 WHITESPACE@[28; 29)
41 IDENT@[29; 30) "c"
42 L_PAREN@[30; 31)
43 VALUE_PARAMETER@[31; 37)
44 BIND_PAT@[31; 32)
45 NAME@[31; 32)
46 IDENT@[31; 32) "x"
47 COLON@[32; 33)
48 PATH_TYPE@[33; 37)
49 PATH@[33; 37)
50 PATH_SEGMENT@[33; 37)
51 NAME_REF@[33; 37)
52 WHITESPACE@[33; 34)
53 IDENT@[34; 37) "i32"
54 COMMA@[37; 38)
55 WHITESPACE@[38; 39)
56 R_PAREN@[39; 40)
57 BLOCK@[40; 44)
58 WHITESPACE@[40; 41)
59 L_CURLY@[41; 42)
60 R_CURLY@[42; 43)
61 WHITESPACE@[43; 44)
62 FN_ITEM@[44; 67)
63 FN_KW@[44; 46)
64 NAME@[46; 48)
65 WHITESPACE@[46; 47)
66 IDENT@[47; 48) "d"
67 L_PAREN@[48; 49)
68 VALUE_PARAMETER@[49; 55)
69 BIND_PAT@[49; 50)
70 NAME@[49; 50)
71 IDENT@[49; 50) "x"
72 COLON@[50; 51)
73 PATH_TYPE@[51; 55)
74 PATH@[51; 55)
75 PATH_SEGMENT@[51; 55)
76 NAME_REF@[51; 55)
77 WHITESPACE@[51; 52)
78 IDENT@[52; 55) "i32"
79 COMMA@[55; 56)
80 VALUE_PARAMETER@[56; 62)
81 BIND_PAT@[56; 58)
82 NAME@[56; 58)
83 WHITESPACE@[56; 57)
84 IDENT@[57; 58) "y"
85 COLON@[58; 59)
86 TUPLE_TYPE@[59; 62)
87 WHITESPACE@[59; 60)
88 L_PAREN@[60; 61)
89 R_PAREN@[61; 62)
90 R_PAREN@[62; 63)
91 BLOCK@[63; 67)
92 WHITESPACE@[63; 64)
93 L_CURLY@[64; 65)
94 R_CURLY@[65; 66)
95 WHITESPACE@[66; 67)
diff --git a/tests/data/parser/inline/0034_bind_pat.rs b/tests/data/parser/inline/0034_bind_pat.rs
new file mode 100644
index 000000000..604db2407
--- /dev/null
+++ b/tests/data/parser/inline/0034_bind_pat.rs
@@ -0,0 +1,6 @@
1fn main() {
2 let a = ();
3 let ref b = ();
4 let ref mut c = ();
5 let d @ _ = ();
6}
diff --git a/tests/data/parser/inline/0034_bind_pat.txt b/tests/data/parser/inline/0034_bind_pat.txt
new file mode 100644
index 000000000..426e37e97
--- /dev/null
+++ b/tests/data/parser/inline/0034_bind_pat.txt
@@ -0,0 +1,81 @@
1FILE@[0; 94)
2 FN_ITEM@[0; 94)
3 FN_KW@[0; 2)
4 NAME@[2; 7)
5 WHITESPACE@[2; 3)
6 IDENT@[3; 7) "main"
7 L_PAREN@[7; 8)
8 R_PAREN@[8; 9)
9 BLOCK@[9; 94)
10 WHITESPACE@[9; 10)
11 L_CURLY@[10; 11)
12 LET_STMT@[11; 32)
13 WHITESPACE@[11; 16)
14 LET_KW@[16; 19)
15 BIND_PAT@[19; 22)
16 NAME@[19; 22)
17 WHITESPACE@[19; 20)
18 IDENT@[20; 21) "a"
19 WHITESPACE@[21; 22)
20 EQ@[22; 23)
21 TUPLE_EXPR@[23; 26)
22 WHITESPACE@[23; 24)
23 L_PAREN@[24; 25)
24 R_PAREN@[25; 26)
25 SEMI@[26; 27)
26 WHITESPACE@[27; 32)
27 LET_STMT@[32; 52)
28 LET_KW@[32; 35)
29 BIND_PAT@[35; 42)
30 WHITESPACE@[35; 36)
31 REF_KW@[36; 39)
32 NAME@[39; 42)
33 WHITESPACE@[39; 40)
34 IDENT@[40; 41) "b"
35 WHITESPACE@[41; 42)
36 EQ@[42; 43)
37 TUPLE_EXPR@[43; 46)
38 WHITESPACE@[43; 44)
39 L_PAREN@[44; 45)
40 R_PAREN@[45; 46)
41 SEMI@[46; 47)
42 WHITESPACE@[47; 52)
43 LET_STMT@[52; 76)
44 LET_KW@[52; 55)
45 BIND_PAT@[55; 66)
46 WHITESPACE@[55; 56)
47 REF_KW@[56; 59)
48 WHITESPACE@[59; 60)
49 MUT_KW@[60; 63)
50 NAME@[63; 66)
51 WHITESPACE@[63; 64)
52 IDENT@[64; 65) "c"
53 WHITESPACE@[65; 66)
54 EQ@[66; 67)
55 TUPLE_EXPR@[67; 70)
56 WHITESPACE@[67; 68)
57 L_PAREN@[68; 69)
58 R_PAREN@[69; 70)
59 SEMI@[70; 71)
60 WHITESPACE@[71; 76)
61 LET_STMT@[76; 92)
62 LET_KW@[76; 79)
63 BIND_PAT@[79; 86)
64 NAME@[79; 82)
65 WHITESPACE@[79; 80)
66 IDENT@[80; 81) "d"
67 WHITESPACE@[81; 82)
68 AT@[82; 83)
69 PLACEHOLDER_PAT@[83; 86)
70 WHITESPACE@[83; 84)
71 UNDERSCORE@[84; 85)
72 WHITESPACE@[85; 86)
73 EQ@[86; 87)
74 TUPLE_EXPR@[87; 90)
75 WHITESPACE@[87; 88)
76 L_PAREN@[88; 89)
77 R_PAREN@[89; 90)
78 SEMI@[90; 91)
79 WHITESPACE@[91; 92)
80 R_CURLY@[92; 93)
81 WHITESPACE@[93; 94)
diff --git a/tests/data/parser/inline/0035_ref_pat.rs b/tests/data/parser/inline/0035_ref_pat.rs
new file mode 100644
index 000000000..de41f5cae
--- /dev/null
+++ b/tests/data/parser/inline/0035_ref_pat.rs
@@ -0,0 +1,4 @@
1fn main() {
2 let &a = ();
3 let &mut b = ();
4}
diff --git a/tests/data/parser/inline/0035_ref_pat.txt b/tests/data/parser/inline/0035_ref_pat.txt
new file mode 100644
index 000000000..57623f31c
--- /dev/null
+++ b/tests/data/parser/inline/0035_ref_pat.txt
@@ -0,0 +1,48 @@
1FILE@[0; 52)
2 FN_ITEM@[0; 52)
3 FN_KW@[0; 2)
4 NAME@[2; 7)
5 WHITESPACE@[2; 3)
6 IDENT@[3; 7) "main"
7 L_PAREN@[7; 8)
8 R_PAREN@[8; 9)
9 BLOCK@[9; 52)
10 WHITESPACE@[9; 10)
11 L_CURLY@[10; 11)
12 LET_STMT@[11; 33)
13 WHITESPACE@[11; 16)
14 LET_KW@[16; 19)
15 REF_PAT@[19; 23)
16 WHITESPACE@[19; 20)
17 AMPERSAND@[20; 21)
18 BIND_PAT@[21; 23)
19 NAME@[21; 23)
20 IDENT@[21; 22) "a"
21 WHITESPACE@[22; 23)
22 EQ@[23; 24)
23 TUPLE_EXPR@[24; 27)
24 WHITESPACE@[24; 25)
25 L_PAREN@[25; 26)
26 R_PAREN@[26; 27)
27 SEMI@[27; 28)
28 WHITESPACE@[28; 33)
29 LET_STMT@[33; 50)
30 LET_KW@[33; 36)
31 REF_PAT@[36; 44)
32 WHITESPACE@[36; 37)
33 AMPERSAND@[37; 38)
34 MUT_KW@[38; 41)
35 BIND_PAT@[41; 44)
36 NAME@[41; 44)
37 WHITESPACE@[41; 42)
38 IDENT@[42; 43) "b"
39 WHITESPACE@[43; 44)
40 EQ@[44; 45)
41 TUPLE_EXPR@[45; 48)
42 WHITESPACE@[45; 46)
43 L_PAREN@[46; 47)
44 R_PAREN@[47; 48)
45 SEMI@[48; 49)
46 WHITESPACE@[49; 50)
47 R_CURLY@[50; 51)
48 WHITESPACE@[51; 52)
diff --git a/tests/data/parser/inline/0036_placeholder_pat.rs b/tests/data/parser/inline/0036_placeholder_pat.rs
new file mode 100644
index 000000000..4d719c433
--- /dev/null
+++ b/tests/data/parser/inline/0036_placeholder_pat.rs
@@ -0,0 +1 @@
fn main() { let _ = (); }
diff --git a/tests/data/parser/inline/0036_placeholder_pat.txt b/tests/data/parser/inline/0036_placeholder_pat.txt
new file mode 100644
index 000000000..06b84c2b5
--- /dev/null
+++ b/tests/data/parser/inline/0036_placeholder_pat.txt
@@ -0,0 +1,27 @@
1FILE@[0; 26)
2 FN_ITEM@[0; 26)
3 FN_KW@[0; 2)
4 NAME@[2; 7)
5 WHITESPACE@[2; 3)
6 IDENT@[3; 7) "main"
7 L_PAREN@[7; 8)
8 R_PAREN@[8; 9)
9 BLOCK@[9; 26)
10 WHITESPACE@[9; 10)
11 L_CURLY@[10; 11)
12 LET_STMT@[11; 24)
13 WHITESPACE@[11; 12)
14 LET_KW@[12; 15)
15 PLACEHOLDER_PAT@[15; 18)
16 WHITESPACE@[15; 16)
17 UNDERSCORE@[16; 17)
18 WHITESPACE@[17; 18)
19 EQ@[18; 19)
20 TUPLE_EXPR@[19; 22)
21 WHITESPACE@[19; 20)
22 L_PAREN@[20; 21)
23 R_PAREN@[21; 22)
24 SEMI@[22; 23)
25 WHITESPACE@[23; 24)
26 R_CURLY@[24; 25)
27 WHITESPACE@[25; 26)
diff --git a/tests/data/parser/ok/0005_fn_item.txt b/tests/data/parser/ok/0005_fn_item.txt
index 0324ae3ee..b9d049b79 100644
--- a/tests/data/parser/ok/0005_fn_item.txt
+++ b/tests/data/parser/ok/0005_fn_item.txt
@@ -6,8 +6,9 @@ FILE@[0; 13)
6 IDENT@[3; 6) "foo" 6 IDENT@[3; 6) "foo"
7 L_PAREN@[6; 7) 7 L_PAREN@[6; 7)
8 R_PAREN@[7; 8) 8 R_PAREN@[7; 8)
9 WHITESPACE@[8; 9) 9 BLOCK@[8; 13)
10 L_CURLY@[9; 10) 10 WHITESPACE@[8; 9)
11 WHITESPACE@[10; 11) 11 L_CURLY@[9; 10)
12 R_CURLY@[11; 12) 12 WHITESPACE@[10; 11)
13 WHITESPACE@[12; 13) 13 R_CURLY@[11; 12)
14 WHITESPACE@[12; 13)
diff --git a/tests/data/parser/ok/0008_mod_item.txt b/tests/data/parser/ok/0008_mod_item.txt
index 20321051c..70ba5ac73 100644
--- a/tests/data/parser/ok/0008_mod_item.txt
+++ b/tests/data/parser/ok/0008_mod_item.txt
@@ -31,11 +31,12 @@ FILE@[0; 118)
31 IDENT@[34; 37) "foo" 31 IDENT@[34; 37) "foo"
32 L_PAREN@[37; 38) 32 L_PAREN@[37; 38)
33 R_PAREN@[38; 39) 33 R_PAREN@[38; 39)
34 WHITESPACE@[39; 40) 34 BLOCK@[39; 52)
35 L_CURLY@[40; 41) 35 WHITESPACE@[39; 40)
36 WHITESPACE@[41; 46) 36 L_CURLY@[40; 41)
37 R_CURLY@[46; 47) 37 WHITESPACE@[41; 46)
38 WHITESPACE@[47; 52) 38 R_CURLY@[46; 47)
39 WHITESPACE@[47; 52)
39 STRUCT_ITEM@[52; 64) 40 STRUCT_ITEM@[52; 64)
40 STRUCT_KW@[52; 58) 41 STRUCT_KW@[52; 58)
41 NAME@[58; 61) 42 NAME@[58; 61)
diff --git a/tests/data/parser/ok/0011_outer_attribute.txt b/tests/data/parser/ok/0011_outer_attribute.txt
index 49023e7f3..3f685ebe2 100644
--- a/tests/data/parser/ok/0011_outer_attribute.txt
+++ b/tests/data/parser/ok/0011_outer_attribute.txt
@@ -24,7 +24,8 @@ FILE@[0; 35)
24 IDENT@[26; 29) "foo" 24 IDENT@[26; 29) "foo"
25 L_PAREN@[29; 30) 25 L_PAREN@[29; 30)
26 R_PAREN@[30; 31) 26 R_PAREN@[30; 31)
27 WHITESPACE@[31; 32) 27 BLOCK@[31; 35)
28 L_CURLY@[32; 33) 28 WHITESPACE@[31; 32)
29 R_CURLY@[33; 34) 29 L_CURLY@[32; 33)
30 WHITESPACE@[34; 35) 30 R_CURLY@[33; 34)
31 WHITESPACE@[34; 35)
diff --git a/tests/data/parser/ok/0012_visibility.txt b/tests/data/parser/ok/0012_visibility.txt
index c138b73f3..664582a30 100644
--- a/tests/data/parser/ok/0012_visibility.txt
+++ b/tests/data/parser/ok/0012_visibility.txt
@@ -6,10 +6,11 @@ FILE@[0; 98)
6 IDENT@[3; 4) "a" 6 IDENT@[3; 4) "a"
7 L_PAREN@[4; 5) 7 L_PAREN@[4; 5)
8 R_PAREN@[5; 6) 8 R_PAREN@[5; 6)
9 WHITESPACE@[6; 7) 9 BLOCK@[6; 10)
10 L_CURLY@[7; 8) 10 WHITESPACE@[6; 7)
11 R_CURLY@[8; 9) 11 L_CURLY@[7; 8)
12 WHITESPACE@[9; 10) 12 R_CURLY@[8; 9)
13 WHITESPACE@[9; 10)
13 FN_ITEM@[10; 24) 14 FN_ITEM@[10; 24)
14 VISIBILITY@[10; 14) 15 VISIBILITY@[10; 14)
15 PUB_KW@[10; 13) 16 PUB_KW@[10; 13)
@@ -20,10 +21,11 @@ FILE@[0; 98)
20 IDENT@[17; 18) "b" 21 IDENT@[17; 18) "b"
21 L_PAREN@[18; 19) 22 L_PAREN@[18; 19)
22 R_PAREN@[19; 20) 23 R_PAREN@[19; 20)
23 WHITESPACE@[20; 21) 24 BLOCK@[20; 24)
24 L_CURLY@[21; 22) 25 WHITESPACE@[20; 21)
25 R_CURLY@[22; 23) 26 L_CURLY@[21; 22)
26 WHITESPACE@[23; 24) 27 R_CURLY@[22; 23)
28 WHITESPACE@[23; 24)
27 FN_ITEM@[24; 45) 29 FN_ITEM@[24; 45)
28 VISIBILITY@[24; 35) 30 VISIBILITY@[24; 35)
29 PUB_KW@[24; 27) 31 PUB_KW@[24; 27)
@@ -37,10 +39,11 @@ FILE@[0; 98)
37 IDENT@[38; 39) "c" 39 IDENT@[38; 39) "c"
38 L_PAREN@[39; 40) 40 L_PAREN@[39; 40)
39 R_PAREN@[40; 41) 41 R_PAREN@[40; 41)
40 WHITESPACE@[41; 42) 42 BLOCK@[41; 45)
41 L_CURLY@[42; 43) 43 WHITESPACE@[41; 42)
42 R_CURLY@[43; 44) 44 L_CURLY@[42; 43)
43 WHITESPACE@[44; 45) 45 R_CURLY@[43; 44)
46 WHITESPACE@[44; 45)
44 FN_ITEM@[45; 66) 47 FN_ITEM@[45; 66)
45 VISIBILITY@[45; 56) 48 VISIBILITY@[45; 56)
46 PUB_KW@[45; 48) 49 PUB_KW@[45; 48)
@@ -54,10 +57,11 @@ FILE@[0; 98)
54 IDENT@[59; 60) "d" 57 IDENT@[59; 60) "d"
55 L_PAREN@[60; 61) 58 L_PAREN@[60; 61)
56 R_PAREN@[61; 62) 59 R_PAREN@[61; 62)
57 WHITESPACE@[62; 63) 60 BLOCK@[62; 66)
58 L_CURLY@[63; 64) 61 WHITESPACE@[62; 63)
59 R_CURLY@[64; 65) 62 L_CURLY@[63; 64)
60 WHITESPACE@[65; 66) 63 R_CURLY@[64; 65)
64 WHITESPACE@[65; 66)
61 FN_ITEM@[66; 98) 65 FN_ITEM@[66; 98)
62 VISIBILITY@[66; 88) 66 VISIBILITY@[66; 88)
63 PUB_KW@[66; 69) 67 PUB_KW@[66; 69)
@@ -86,7 +90,8 @@ FILE@[0; 98)
86 IDENT@[91; 92) "e" 90 IDENT@[91; 92) "e"
87 L_PAREN@[92; 93) 91 L_PAREN@[92; 93)
88 R_PAREN@[93; 94) 92 R_PAREN@[93; 94)
89 WHITESPACE@[94; 95) 93 BLOCK@[94; 98)
90 L_CURLY@[95; 96) 94 WHITESPACE@[94; 95)
91 R_CURLY@[96; 97) 95 L_CURLY@[95; 96)
92 WHITESPACE@[97; 98) 96 R_CURLY@[96; 97)
97 WHITESPACE@[97; 98)
diff --git a/tests/data/parser/ok/0017_attr_trailing_comma.txt b/tests/data/parser/ok/0017_attr_trailing_comma.txt
index a4a6b8807..792633eae 100644
--- a/tests/data/parser/ok/0017_attr_trailing_comma.txt
+++ b/tests/data/parser/ok/0017_attr_trailing_comma.txt
@@ -18,7 +18,8 @@ FILE@[0; 23)
18 IDENT@[14; 17) "foo" 18 IDENT@[14; 17) "foo"
19 L_PAREN@[17; 18) 19 L_PAREN@[17; 18)
20 R_PAREN@[18; 19) 20 R_PAREN@[18; 19)
21 WHITESPACE@[19; 20) 21 BLOCK@[19; 23)
22 L_CURLY@[20; 21) 22 WHITESPACE@[19; 20)
23 R_CURLY@[21; 22) 23 L_CURLY@[20; 21)
24 WHITESPACE@[22; 23) 24 R_CURLY@[21; 22)
25 WHITESPACE@[22; 23)
diff --git a/tests/data/parser/ok/0021_extern_fn.txt b/tests/data/parser/ok/0021_extern_fn.txt
index 8ed7f2a25..b4456af84 100644
--- a/tests/data/parser/ok/0021_extern_fn.txt
+++ b/tests/data/parser/ok/0021_extern_fn.txt
@@ -9,11 +9,12 @@ FILE@[0; 71)
9 IDENT@[10; 13) "foo" 9 IDENT@[10; 13) "foo"
10 L_PAREN@[13; 14) 10 L_PAREN@[13; 14)
11 R_PAREN@[14; 15) 11 R_PAREN@[14; 15)
12 WHITESPACE@[15; 16) 12 BLOCK@[15; 21)
13 L_CURLY@[16; 17) 13 WHITESPACE@[15; 16)
14 WHITESPACE@[17; 18) 14 L_CURLY@[16; 17)
15 R_CURLY@[18; 19) 15 WHITESPACE@[17; 18)
16 WHITESPACE@[19; 21) 16 R_CURLY@[18; 19)
17 WHITESPACE@[19; 21)
17 FN_ITEM@[21; 46) 18 FN_ITEM@[21; 46)
18 ABI@[21; 32) 19 ABI@[21; 32)
19 EXTERN_KW@[21; 27) 20 EXTERN_KW@[21; 27)
@@ -26,11 +27,12 @@ FILE@[0; 71)
26 IDENT@[35; 38) "bar" 27 IDENT@[35; 38) "bar"
27 L_PAREN@[38; 39) 28 L_PAREN@[38; 39)
28 R_PAREN@[39; 40) 29 R_PAREN@[39; 40)
29 WHITESPACE@[40; 41) 30 BLOCK@[40; 46)
30 L_CURLY@[41; 42) 31 WHITESPACE@[40; 41)
31 WHITESPACE@[42; 43) 32 L_CURLY@[41; 42)
32 R_CURLY@[43; 44) 33 WHITESPACE@[42; 43)
33 WHITESPACE@[44; 46) 34 R_CURLY@[43; 44)
35 WHITESPACE@[44; 46)
34 FN_ITEM@[46; 71) 36 FN_ITEM@[46; 71)
35 ABI@[46; 58) 37 ABI@[46; 58)
36 EXTERN_KW@[46; 52) 38 EXTERN_KW@[46; 52)
@@ -43,8 +45,9 @@ FILE@[0; 71)
43 IDENT@[61; 64) "baz" 45 IDENT@[61; 64) "baz"
44 L_PAREN@[64; 65) 46 L_PAREN@[64; 65)
45 R_PAREN@[65; 66) 47 R_PAREN@[65; 66)
46 WHITESPACE@[66; 67) 48 BLOCK@[66; 71)
47 L_CURLY@[67; 68) 49 WHITESPACE@[66; 67)
48 WHITESPACE@[68; 69) 50 L_CURLY@[67; 68)
49 R_CURLY@[69; 70) 51 WHITESPACE@[68; 69)
50 WHITESPACE@[70; 71) 52 R_CURLY@[69; 70)
53 WHITESPACE@[70; 71)