error[E0277]: the trait bound `Bar<'a, T>: Foo` is not satisfied
  --> $DIR/hir-wf-canonicalized.rs:10:15
   |
LL |     callback: Box<dyn Callback<dyn Callback<Bar<'a, T>>>>,
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Foo` is not implemented for `Bar<'a, T>`

error[E0277]: the trait bound `(dyn Callback<Bar<'a, T>, for<'b, 'c, 'd> Output = ()> + 'static): Foo` is not satisfied
  --> $DIR/hir-wf-canonicalized.rs:10:15
   |
LL |     callback: Box<dyn Callback<dyn Callback<Bar<'a, T>>>>,
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Foo` is not implemented for `(dyn Callback<Bar<'a, T>, for<'b, 'c, 'd> Output = ()> + 'static)`

error[E0277]: the size for values of type `(dyn Callback<Bar<'a, T>, for<'b, 'c, 'd> Output = ()> + 'static)` cannot be known at compilation time
  --> $DIR/hir-wf-canonicalized.rs:10:15
   |
LL |     callback: Box<dyn Callback<dyn Callback<Bar<'a, T>>>>,
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
   |
   = help: the trait `Sized` is not implemented for `(dyn Callback<Bar<'a, T>, for<'b, 'c, 'd> Output = ()> + 'static)`
note: required by a bound in `Bar`
  --> $DIR/hir-wf-canonicalized.rs:9:16
   |
LL | struct Bar<'a, T> {
   |                ^ required by this bound in `Bar`
help: consider relaxing the implicit `Sized` restriction
   |
LL | struct Bar<'a, T: ?Sized> {
   |                 ++++++++

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0277`.
