#![feature(fn_delegation)] #![allow(incomplete_features)] #![deny(unsafe_op_in_unsafe_fn)] #![deny(unused_unsafe)] mod to_reuse { unsafe extern "C" { pub fn default_unsafe_foo(); pub unsafe fn unsafe_foo(); pub safe fn safe_foo(); } } reuse to_reuse::{default_unsafe_foo, unsafe_foo, safe_foo}; fn main() { let _: extern "C" fn() = default_unsafe_foo; //~^ ERROR mismatched types let _: extern "C" fn() = unsafe_foo; //~^ ERROR mismatched types let _: extern "C" fn() = safe_foo; }