interface records {
record empty {
}
record scalars {
a: u32,
b: u32,
}
flags really-flags {
a,
b,
c,
d,
e,
f,
g,
h,
i,
}
record aggregates {
a: scalars,
b: u32,
c: empty,
d: string,
e: really-flags,
}
type int-typedef = s32
type tuple-typedef2 = tuple<int-typedef>
tuple-arg: func(x: tuple<char, u32>)
tuple-result: func() -> tuple<char, u32>
empty-arg: func(x: empty)
empty-result: func() -> empty
scalar-arg: func(x: scalars)
scalar-result: func() -> scalars
flags-arg: func(x: really-flags)
flags-result: func() -> really-flags
aggregate-arg: func(x: aggregates)
aggregate-result: func() -> aggregates
typedef-inout: func(e: tuple-typedef2) -> s32
}
interface records-exports {
record empty {
}
record scalars {
a: u32,
b: u32,
}
record really-flags {
a: bool,
b: bool,
c: bool,
d: bool,
e: bool,
f: bool,
g: bool,
h: bool,
i: bool,
}
record aggregates {
a: scalars,
b: u32,
c: empty,
d: string,
e: really-flags,
}
type tuple-typedef = tuple<s32>
type int-typedef = s32
type tuple-typedef2 = tuple<int-typedef>
tuple-arg: func(x: tuple<char, u32>)
tuple-result: func() -> tuple<char, u32>
empty-arg: func(x: empty)
empty-result: func() -> empty
scalar-arg: func(x: scalars)
scalar-result: func() -> scalars
flags-arg: func(x: really-flags)
flags-result: func() -> really-flags
aggregate-arg: func(x: aggregates)
aggregate-result: func() -> aggregates
typedef-inout: func(e: tuple-typedef2) -> s32
}
world records-world {
import records: records
export records: records-exports
}