| #![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; | |
| } |