error[E0046]: not all trait items implemented, missing: `foo`
  --> $DIR/trivial_impl3.rs:16:1
   |
LL | /     fn foo()
LL | |     where
LL | |         Self: trivial3::Trait;
   | |______________________________- `foo` from trait
...
LL |   impl Foo for u8 {}
   |   ^^^^^^^^^^^^^^^ missing `foo` in implementation

error: aborting due to 1 previous error

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