diff options
Diffstat (limited to 'src/test/ui/extern/extern-methods.rs')
-rw-r--r-- | src/test/ui/extern/extern-methods.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/ui/extern/extern-methods.rs b/src/test/ui/extern/extern-methods.rs new file mode 100644 index 000000000..22792c113 --- /dev/null +++ b/src/test/ui/extern/extern-methods.rs @@ -0,0 +1,29 @@ +// run-pass +// only-x86 + +trait A { + extern "fastcall" fn test1(i: i32); + extern "C" fn test2(i: i32); +} + +struct S; +impl S { + extern "stdcall" fn test3(i: i32) { + assert_eq!(i, 3); + } +} + +impl A for S { + extern "fastcall" fn test1(i: i32) { + assert_eq!(i, 1); + } + extern "C" fn test2(i: i32) { + assert_eq!(i, 2); + } +} + +fn main() { + <S as A>::test1(1); + <S as A>::test2(2); + S::test3(3); +} |