summaryrefslogtreecommitdiffstats
path: root/tests/rust/monomorph_3.rs
blob: b1d69e4986e1a0dd904fa3f229b6e2cc8d06c8ec (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
#[repr(C)]
union Foo<T> {
    data: *const T
}

union Bar<T> {
    data: *const T
}

#[repr(C)]
union Tuple<T, E> {
    a: *const T,
    b: *const E,
}

type Indirection<T> = Tuple<T, f32>;

#[no_mangle]
pub extern "C" fn root(
    a: Foo<i32>,
    b: Foo<f32>,
    c: Bar<f32>,
    d: Foo<Bar<f32>>,
    e: Bar<Foo<f32>>,
    f: Bar<Bar<f32>>,
    g: Tuple<Foo<f32>, f32>,
    h: Indirection<f32>
) { }