//@ compile-flags: -O | |
#![crate_type = "lib"] | |
// CHECK-LABEL: @test | |
// CHECK-NEXT: start: | |
// CHECK-NEXT: tail call void @ext_fn0() | |
#[no_mangle] | |
pub fn test() { | |
test_inner(Some(inner0)); | |
} | |
fn test_inner(f_maybe: Option<fn()>) { | |
if let Some(f) = f_maybe { | |
f(); | |
} | |
} | |
fn inner0() { | |
unsafe { ext_fn0() }; | |
} | |
extern "C" { | |
fn ext_fn0(); | |
} |