summaryrefslogtreecommitdiffstats
path: root/tests/ui/rfc-2627-raw-dylib/multiple-declarations.rs
blob: b4173f3b60bced3daf38f57a5ae65db2281471c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// only-x86
// only-windows
// compile-flags: --crate-type lib --emit link
#![allow(clashing_extern_declarations)]
#[link(name = "foo", kind = "raw-dylib")]
extern "C" {
    fn f(x: i32);
}

pub fn lib_main() {
    #[link(name = "foo", kind = "raw-dylib")]
    extern "stdcall" {
        fn f(x: i32);
        //~^ ERROR multiple declarations of external function `f` from library `foo.dll` have different calling conventions
    }

    unsafe { f(42); }
}