summaryrefslogtreecommitdiffstats
path: root/tests/ui/abi/issues/issue-22565-rust-call.rs
blob: a572666c8887f6512b441681c0bd32cde8bbd842 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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();
}