error[E0277]: expected a `Fn<()>` closure, found `extern "C" fn() {f}` --> $DIR/extern-wrong-value-type.rs:9:11 | LL | is_fn(f); | ----- ^ expected an `Fn<()>` closure, found `extern "C" fn() {f}` | | | required by a bound introduced by this call | = help: the trait `Fn<()>` is not implemented for fn item `extern "C" fn() {f}` = note: wrap the `extern "C" fn() {f}` in a closure with no arguments: `|| { /* code */ }` note: required by a bound in `is_fn` --> $DIR/extern-wrong-value-type.rs:4:28 | LL | fn is_fn(_: F) where F: Fn() {} | ^^^^ required by this bound in `is_fn` error: aborting due to previous error For more information about this error, try `rustc --explain E0277`.