//@ run-pass | |
// We used to have a __rust_abi shim that resulted in duplicated symbols | |
// whenever the item path wasn't enough to disambiguate between them. | |
fn main() { | |
let a = { | |
extern "C" fn good() -> i32 { return 0; } | |
good as extern "C" fn() -> i32 | |
}; | |
let b = { | |
extern "C" fn good() -> i32 { return 5; } | |
good as extern "C" fn() -> i32 | |
}; | |
assert!(a != b); | |
assert_eq!((a(), b()), (0, 5)); | |
} |