summaryrefslogtreecommitdiffstats
path: root/tests/rust/monomorph_1.rs
blob: a75cc23becc2502223d174a77e222fe1383f3d03 (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)]
struct Foo<T> {
    data: *const T
}

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

#[repr(C)]
struct 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>
) { }