]>
Commit | Line | Data |
---|---|---|
a1dfa0c6 XL |
1 | // This used to ICE because it creates an `impl Trait` that captures a |
2 | // hidden empty region. | |
3 | ||
60c5eb7d | 4 | // check-pass |
a1dfa0c6 | 5 | |
48663c56 | 6 | fn server() -> impl FilterBase2 { |
a1dfa0c6 XL |
7 | segment2(|| { loop { } }).map2(|| "") |
8 | } | |
9 | ||
10 | trait FilterBase2 { | |
11 | fn map2<F>(self, _fn: F) -> Map2<F> where Self: Sized { loop { } } | |
12 | } | |
13 | ||
14 | struct Map2<F> { _func: F } | |
15 | ||
16 | impl<F> FilterBase2 for Map2<F> { } | |
17 | ||
18 | fn segment2<F>(_fn: F) -> Map2<F> where F: Fn() -> Result<(), ()> { | |
19 | loop { } | |
20 | } | |
21 | ||
22 | fn main() { server(); } |