mirror of https://github.com/rust-lang/rust
27 lines
481 B
Rust
27 lines
481 B
Rust
// Tests that we still detect defining usages when
|
|
// lifetimes are used in an associated opaque type
|
|
//@ check-pass
|
|
|
|
#![feature(impl_trait_in_assoc_type)]
|
|
|
|
trait UnwrapItemsExt<'a> {
|
|
type Iter;
|
|
fn unwrap_items(self) -> Self::Iter;
|
|
}
|
|
|
|
struct MyStruct {}
|
|
|
|
trait MyTrait<'a> {}
|
|
|
|
impl<'a> MyTrait<'a> for MyStruct {}
|
|
|
|
impl<'a, I> UnwrapItemsExt<'a> for I {
|
|
type Iter = impl MyTrait<'a>;
|
|
|
|
fn unwrap_items(self) -> Self::Iter {
|
|
MyStruct {}
|
|
}
|
|
}
|
|
|
|
fn main() {}
|