blob: 733a150a941d60f8ccf228324969b19fab95ef17 [file] [log] [blame]
//@ check-pass
use std::fmt::Debug;
use std::marker::PhantomData;
trait Foo {
type Gat<'a>: ?Sized where Self: 'a;
}
struct Bar<'a, T: Foo + 'a>(T::Gat<'a>);
struct Baz<T: ?Sized>(PhantomData<T>);
impl<T: ?Sized> Foo for Baz<T> {
type Gat<'a> = T where Self: 'a;
}
fn main() {
let x = Bar::<'_, Baz<()>>(());
let y: &Bar<'_, Baz<dyn Debug>> = &x;
}