18 lines
299 B
Rust
18 lines
299 B
Rust
//@ compile-flags: -Znext-solver
|
|
//@ check-pass
|
|
|
|
trait Trait<'a> {
|
|
type Item: for<'b> Trait2<'b>;
|
|
}
|
|
|
|
trait Trait2<'a> {}
|
|
impl Trait2<'_> for () {}
|
|
|
|
fn needs_trait(_: Box<impl for<'a> Trait<'a> + ?Sized>) {}
|
|
|
|
fn foo(x: Box<dyn for<'a> Trait<'a, Item = ()>>) {
|
|
needs_trait(x);
|
|
}
|
|
|
|
fn main() {}
|