2024-02-16 20:02:50 +00:00
|
|
|
//@ incremental
|
2022-12-05 03:17:53 +00:00
|
|
|
|
|
|
|
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
|
2024-02-06 22:37:47 +01:00
|
|
|
//~| 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
|
2022-12-05 03:17:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
impl<T: Foo> Bar<'_, Bar<'_, T>> {}
|
|
|
|
|
|
|
|
fn main() {}
|