| //@ incremental | |
| trait Foo { | |
| type V; | |
| } | |
| trait Callback<T: Foo>: Fn(&Bar<'_, T>, &T::V) {} | |
| struct Bar<'a, T> { | |
| callback: Box<dyn Callback<dyn Callback<Bar<'a, T>>>>, | |
| //~^ ERROR the trait bound `Bar<'a, T>: Foo` is not satisfied | |
| //~| ERROR the trait bound `(dyn Callback<Bar<'a, T>, Output = ()> + 'static): Foo` is not satisfied | |
| //~| ERROR the size for values of type `(dyn Callback<Bar<'a, T>, Output = ()> + 'static)` cannot be known at compilation time | |
| } | |
| impl<T: Foo> Bar<'_, Bar<'_, T>> {} | |
| fn main() {} |