//@ build-pass | |
enum Foo<T> { | |
Var(T), | |
} // `T` is covariant. | |
fn foo<'b>(x: Foo<for<'a> fn(&'a ())>) { | |
let Foo::Var(x): Foo<fn(&'b ())> = x; | |
} | |
fn foo_nested<'b>(x: Foo<Foo<for<'a> fn(&'a ())>>) { | |
let Foo::Var(Foo::Var(x)): Foo<Foo<fn(&'b ())>> = x; | |
} | |
fn main() {} |