diff options
Diffstat (limited to 'tests/ui/extern/extern-methods.rs')
| -rw-r--r-- | tests/ui/extern/extern-methods.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/ui/extern/extern-methods.rs b/tests/ui/extern/extern-methods.rs new file mode 100644 index 00000000000..22792c11366 --- /dev/null +++ b/tests/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); +} |
