diff options
Diffstat (limited to 'tests/ui/abi/issues/issue-22565-rust-call.rs')
-rw-r--r-- | tests/ui/abi/issues/issue-22565-rust-call.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/ui/abi/issues/issue-22565-rust-call.rs b/tests/ui/abi/issues/issue-22565-rust-call.rs new file mode 100644 index 000000000..a572666c8 --- /dev/null +++ b/tests/ui/abi/issues/issue-22565-rust-call.rs @@ -0,0 +1,31 @@ +#![feature(unboxed_closures)] + +extern "rust-call" fn b(_i: i32) {} +//~^ ERROR functions with the "rust-call" ABI must take a single non-self tuple argument + +trait Tr { + extern "rust-call" fn a(); + //~^ ERROR functions with the "rust-call" ABI must take a single non-self tuple argument + + extern "rust-call" fn b() {} + //~^ ERROR functions with the "rust-call" ABI must take a single non-self tuple argument +} + +struct Foo; + +impl Foo { + extern "rust-call" fn bar() {} + //~^ ERROR functions with the "rust-call" ABI must take a single non-self tuple argument +} + +impl Tr for Foo { + extern "rust-call" fn a() {} + //~^ ERROR functions with the "rust-call" ABI must take a single non-self tuple argument +} + +fn main() { + b(10); + Foo::bar(); + <Foo as Tr>::a(); + <Foo as Tr>::b(); +} |