error[E0277]: the trait bound `B: Bar` is not satisfied --> $DIR/wf-check-fn-def.rs:11:5 | LL | mop // NOTE: no function pointer, but function zst item | ^^^ the trait `Bar` is not implemented for `B` | note: required by a bound in `mop` --> $DIR/wf-check-fn-def.rs:10:15 | LL | fn mop(bar: B) { bar.bar() } | ^^^ required by this bound in `mop` help: consider restricting type parameter `B` | LL | type FooFn = impl FnOnce(B); | +++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0277`.