error[E0277]: the trait bound `Foo: HasComponent<()>` is not satisfied
  --> $DIR/issue-91594.rs:10:19
   |
LL | impl HasComponent<<Foo as Component<Foo>>::Interface> for Foo {}
   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `HasComponent<()>` is not implemented for `Foo`
   |
   = help: the trait `HasComponent<<Foo as Component<Foo>>::Interface>` is implemented for `Foo`
note: required for `Foo` to implement `Component<Foo>`
  --> $DIR/issue-91594.rs:13:27
   |
LL | impl<M: HasComponent<()>> Component<M> for Foo {
   |         ----------------  ^^^^^^^^^^^^     ^^^
   |         |
   |         unsatisfied trait bound introduced here

error: aborting due to previous error

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