error[E0308]: mismatched types --> $DIR/issue-10764.rs:4:15 | LL | fn main() { f(bar) } | - ^^^ expected "Rust" fn, found "C" fn | | | arguments to this function are incorrect | = note: expected fn pointer `fn()` found fn item `extern "C" fn() {bar}` = note: when the arguments and return types match, functions can be coerced to function pointers note: function defined here --> $DIR/issue-10764.rs:1:4 | LL | fn f(_: extern "Rust" fn()) {} | ^ --------------------- error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.