summaryrefslogtreecommitdiffstats
path: root/src/test/ui/abi/issues/issue-22565-rust-call.rs
blob: a08e0bfb5e5da8589998c8767adac633502d6295 (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
32
#![feature(unboxed_closures)]

extern "rust-call" fn b(_i: i32) {}
//~^ ERROR functions with the "rust-call" ABI must take a single non-self argument that is a tuple

trait Tr {
    extern "rust-call" fn a();

    extern "rust-call" fn b() {}
    //~^ ERROR functions with the "rust-call" ABI must take a single non-self argument
}

struct Foo;

impl Foo {
    extern "rust-call" fn bar() {}
    //~^ ERROR functions with the "rust-call" ABI must take a single non-self argument
}

impl Tr for Foo {
    extern "rust-call" fn a() {}
    //~^ ERROR functions with the "rust-call" ABI must take a single non-self argument
}

fn main () {
    b(10);

    Foo::bar();

    <Foo as Tr>::a();
    <Foo as Tr>::b();
}