summaryrefslogtreecommitdiffstats
path: root/tests/rust/struct_literal.rs
blob: 733dac37a81ce207048e95a47d39a8292009775b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#[repr(C)]
struct Foo {
    a: i32,
    b: u32,
}

struct Bar {
    a: i32,
    b: u32,
}

impl Foo {
    pub const FOO: Foo = Foo { a: 42, b: 47, };
    pub const FOO2: Self = Foo { a: 42, b: 47, };
    pub const FOO3: Self = Self { a: 42, b: 47, };
    pub const BAZ: Bar = Bar { a: 42, b: 47, };
}

pub const BAR: Foo = Foo { a: 42, b: 1337, };
pub const BAZZ: Bar = Bar { a: 42, b: 1337, };

#[no_mangle]
pub extern "C" fn root(x: Foo, bar: Bar) { }