summaryrefslogtreecommitdiffstats
path: root/tests/ui/wf/hir-wf-canonicalized.rs
blob: bdb84409d009d7ced0b030e68ca791af7d4b52bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 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>, for<'b, 'c, 'd> Output = ()> + 'static): Foo` is not satisfied
    //~| ERROR the size for values of type `(dyn Callback<Bar<'a, T>, for<'b, 'c, 'd> Output = ()> + 'static)` cannot be known at compilation time
}

impl<T: Foo> Bar<'_, Bar<'_, T>> {}

fn main() {}