aboutsummaryrefslogtreecommitdiff
path: root/tests/data
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-02-11 09:51:09 +0000
committerAleksey Kladov <[email protected]>2018-02-11 09:51:09 +0000
commit8a3f17a4e263781deac5e503ad5116ec78004618 (patch)
tree0b489b1784c572011dd9e25d6d0ba53e8a50f148 /tests/data
parent2fb33b2d0d14f09ee06a42bca252dccbf57185e1 (diff)
G: fn pointer type
Diffstat (limited to 'tests/data')
-rw-r--r--tests/data/parser/inline/0028_fn_pointer_type.rs3
-rw-r--r--tests/data/parser/inline/0028_fn_pointer_type.txt52
-rw-r--r--tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs1
-rw-r--r--tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt24
-rw-r--r--tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs1
-rw-r--r--tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt21
6 files changed, 102 insertions, 0 deletions
diff --git a/tests/data/parser/inline/0028_fn_pointer_type.rs b/tests/data/parser/inline/0028_fn_pointer_type.rs
new file mode 100644
index 000000000..c9bf3bdb4
--- /dev/null
+++ b/tests/data/parser/inline/0028_fn_pointer_type.rs
@@ -0,0 +1,3 @@
1type A = fn();
2type B = unsafe fn();
3type C = unsafe extern "C" fn();
diff --git a/tests/data/parser/inline/0028_fn_pointer_type.txt b/tests/data/parser/inline/0028_fn_pointer_type.txt
new file mode 100644
index 000000000..6c62b0051
--- /dev/null
+++ b/tests/data/parser/inline/0028_fn_pointer_type.txt
@@ -0,0 +1,52 @@
1FILE@[0; 70)
2 TYPE_ITEM@[0; 15)
3 TYPE_KW@[0; 4)
4 NAME@[4; 7)
5 WHITESPACE@[4; 5)
6 IDENT@[5; 6) "A"
7 WHITESPACE@[6; 7)
8 EQ@[7; 8)
9 FN_POINTER_TYPE@[8; 13)
10 WHITESPACE@[8; 9)
11 FN_KW@[9; 11)
12 L_PAREN@[11; 12)
13 R_PAREN@[12; 13)
14 SEMI@[13; 14)
15 WHITESPACE@[14; 15)
16 TYPE_ITEM@[15; 37)
17 TYPE_KW@[15; 19)
18 NAME@[19; 22)
19 WHITESPACE@[19; 20)
20 IDENT@[20; 21) "B"
21 WHITESPACE@[21; 22)
22 EQ@[22; 23)
23 FN_POINTER_TYPE@[23; 35)
24 WHITESPACE@[23; 24)
25 UNSAFE_KW@[24; 30)
26 WHITESPACE@[30; 31)
27 FN_KW@[31; 33)
28 L_PAREN@[33; 34)
29 R_PAREN@[34; 35)
30 SEMI@[35; 36)
31 WHITESPACE@[36; 37)
32 TYPE_ITEM@[37; 70)
33 TYPE_KW@[37; 41)
34 NAME@[41; 44)
35 WHITESPACE@[41; 42)
36 IDENT@[42; 43) "C"
37 WHITESPACE@[43; 44)
38 EQ@[44; 45)
39 FN_POINTER_TYPE@[45; 68)
40 WHITESPACE@[45; 46)
41 UNSAFE_KW@[46; 52)
42 ABI@[52; 64)
43 WHITESPACE@[52; 53)
44 EXTERN_KW@[53; 59)
45 WHITESPACE@[59; 60)
46 STRING@[60; 63)
47 WHITESPACE@[63; 64)
48 FN_KW@[64; 66)
49 L_PAREN@[66; 67)
50 R_PAREN@[67; 68)
51 SEMI@[68; 69)
52 WHITESPACE@[69; 70)
diff --git a/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs b/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs
new file mode 100644
index 000000000..f014914ff
--- /dev/null
+++ b/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs
@@ -0,0 +1 @@
type F = unsafe ();
diff --git a/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt b/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt
new file mode 100644
index 000000000..dd6e24096
--- /dev/null
+++ b/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt
@@ -0,0 +1,24 @@
1FILE@[0; 20)
2 TYPE_ITEM@[0; 16)
3 TYPE_KW@[0; 4)
4 NAME@[4; 7)
5 WHITESPACE@[4; 5)
6 IDENT@[5; 6) "F"
7 WHITESPACE@[6; 7)
8 EQ@[7; 8)
9 WHITESPACE@[8; 9)
10 UNSAFE_KW@[9; 15)
11 err: `expected `fn``
12 err: `expected SEMI`
13 WHITESPACE@[15; 16)
14 ERROR@[16; 17)
15 err: `expected item`
16 L_PAREN@[16; 17)
17 ERROR@[17; 18)
18 err: `expected item`
19 R_PAREN@[17; 18)
20 ERROR@[18; 20)
21 err: `expected item, found `;`
22consider removing this semicolon`
23 SEMI@[18; 19)
24 WHITESPACE@[19; 20)
diff --git a/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs b/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs
new file mode 100644
index 000000000..e3ba5e87f
--- /dev/null
+++ b/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs
@@ -0,0 +1 @@
type F = fn() -> ();
diff --git a/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt b/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt
new file mode 100644
index 000000000..b41efa368
--- /dev/null
+++ b/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt
@@ -0,0 +1,21 @@
1FILE@[0; 21)
2 TYPE_ITEM@[0; 21)
3 TYPE_KW@[0; 4)
4 NAME@[4; 7)
5 WHITESPACE@[4; 5)
6 IDENT@[5; 6) "F"
7 WHITESPACE@[6; 7)
8 EQ@[7; 8)
9 FN_POINTER_TYPE@[8; 19)
10 WHITESPACE@[8; 9)
11 FN_KW@[9; 11)
12 L_PAREN@[11; 12)
13 R_PAREN@[12; 13)
14 WHITESPACE@[13; 14)
15 THIN_ARROW@[14; 16)
16 TUPLE_TYPE@[16; 19)
17 WHITESPACE@[16; 17)
18 L_PAREN@[17; 18)
19 R_PAREN@[18; 19)
20 SEMI@[19; 20)
21 WHITESPACE@[20; 21)