]>
Commit | Line | Data |
---|---|---|
74b04a01 XL |
1 | // Tests that we don't allow unconstrained lifetime parameters in impls when |
2 | // the lifetime is used in an associated opaque type. | |
3 | ||
94222f64 | 4 | #![feature(type_alias_impl_trait)] |
74b04a01 XL |
5 | |
6 | trait UnwrapItemsExt { | |
7 | type Iter; | |
8 | fn unwrap_items(self) -> Self::Iter; | |
9 | } | |
10 | ||
11 | struct MyStruct {} | |
12 | ||
13 | trait MyTrait<'a> {} | |
14 | ||
15 | impl<'a> MyTrait<'a> for MyStruct {} | |
16 | ||
17 | impl<'a, I> UnwrapItemsExt for I { | |
18 | //~^ ERROR the lifetime parameter `'a` is not constrained | |
19 | type Iter = impl MyTrait<'a>; | |
20 | ||
21 | fn unwrap_items(self) -> Self::Iter { | |
22 | MyStruct {} | |
23 | } | |
24 | } | |
25 | ||
26 | fn main() {} |