]> git.lizzy.rs Git - rust.git/blob - tests/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs
Rollup merge of #106732 - durin42:dmitrig-arrayref-ctor, r=nikic
[rust.git] / tests / ui / type-alias-impl-trait / assoc-type-lifetime-unconstrained.rs
1 // Tests that we don't allow unconstrained lifetime parameters in impls when
2 // the lifetime is used in an associated opaque type.
3
4 #![feature(type_alias_impl_trait)]
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() {}