Skip to content

Commit 879693e

Browse files
committed
Move complex inline test to own file
1 parent 506e1dd commit 879693e

File tree

7 files changed

+670
-372
lines changed

7 files changed

+670
-372
lines changed

crates/ra_parser/src/grammar/type_params.rs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -195,22 +195,6 @@ fn where_predicate(p: &mut Parser) {
195195
// where
196196
// for<'a> F: Fn(&'a str)
197197
// { }
198-
// fn for_ref<F>()
199-
// where
200-
// for<'a> &'a F: Debug
201-
// { }
202-
// fn for_parens<F>()
203-
// where
204-
// for<'a> (&'a F): Fn(&'a str)
205-
// { }
206-
// fn for_slice<F>()
207-
// where
208-
// for<'a> [&'a F]: Eq
209-
// { }
210-
// fn for_qpath<T>(_t: &T)
211-
// where
212-
// for<'a> <&'a T as Baz>::Foo: Iterator
213-
// { }
214198
if p.at(T![for]) {
215199
types::for_binder(p);
216200
}
Lines changed: 238 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,240 @@
1-
SOURCE_FILE@0..79
2-
TYPE_ALIAS_DEF@0..25
1+
SOURCE_FILE@0..239
2+
TYPE_ALIAS_DEF@0..30
33
44
5-
6-
7-
8-
9-
10-
11-
12-
13-
14-
15-
16-
17-
18-
19-
20-
21-
22-
23-
24-
25-
26-
27-
28-
29-
30-
31-
32-
33-
34-
35-
36-
37-
38-
39-
40-
41-
42-
43-
44-
45-
46-
47-
48-
49-
50-
51-
52-
53-
54-
55-
56-
57-
58-
59-
60-
61-
62-
63-
64-
65-
66-
67-
68-
69-
70-
71-
72-
73-
74-
75-
76-
77-
78-
79-
80-
81-
82-
83-
84-
85-
86-
error 16..16: expected a function pointer or path
87-
error 42..42: expected a function pointer or path
88-
error 71..71: expected a function pointer or path
5+
6+
7+
8+
9+
10+
11+
12+
13+
14+
15+
16+
17+
18+
19+
20+
21+
22+
23+
24+
25+
26+
27+
28+
29+
30+
31+
32+
33+
34+
35+
36+
37+
38+
39+
40+
41+
42+
43+
44+
45+
46+
47+
48+
49+
50+
51+
52+
53+
54+
55+
56+
57+
58+
59+
60+
61+
62+
63+
64+
[email protected] "ForSlice"
65+
66+
67+
68+
69+
70+
71+
72+
73+
74+
75+
76+
77+
78+
79+
80+
81+
82+
83+
84+
85+
86+
87+
88+
89+
90+
[email protected] "ForForFn"
91+
92+
93+
94+
95+
96+
97+
98+
99+
100+
101+
102+
103+
104+
105+
106+
107+
108+
109+
110+
111+
112+
113+
114+
115+
116+
117+
118+
119+
120+
121+
122+
123+
124+
125+
126+
127+
128+
129+
130+
131+
132+
133+
134+
135+
136+
137+
138+
139+
140+
141+
142+
143+
[email protected] "for_for_for"
144+
145+
146+
147+
148+
149+
150+
151+
152+
153+
154+
155+
156+
157+
158+
159+
160+
161+
162+
163+
164+
165+
166+
167+
168+
169+
170+
171+
172+
173+
174+
175+
176+
177+
178+
179+
180+
181+
182+
183+
184+
185+
186+
187+
188+
189+
190+
191+
192+
193+
194+
195+
196+
197+
198+
199+
200+
201+
202+
203+
204+
205+
206+
207+
208+
209+
210+
211+
212+
213+
214+
215+
216+
217+
218+
219+
220+
221+
222+
223+
224+
225+
226+
227+
228+
229+
230+
231+
232+
233+
234+
235+
236+
error 21..21: expected a function pointer or path
237+
error 52..52: expected a function pointer or path
238+
error 88..88: expected a function pointer or path
239+
error 119..119: expected a function pointer or path
240+
error 195..195: expected a function pointer or path
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1-
type A = for<'a> &'a u32;
2-
type B = for<'a> (&'a u32,);
3-
type B = for<'a> [u32];
1+
type ForRef = for<'a> &'a u32;
2+
type ForTup = for<'a> (&'a u32,);
3+
type ForSlice = for<'a> [u32];
4+
type ForForFn = for<'a> for<'b> fn(&'a i32, &'b i32);
5+
fn for_for_for<T>()
6+
where
7+
for<'a> for<'b> for<'c> fn(&'a T, &'b T, &'c T): Copy,
8+
{
9+
}

0 commit comments

Comments
 (0)