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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package foo:bar;
interface guest {
type guest = u32;
x: func() -> guest;
}
interface other-guest {
guest: func();
}
world another-guest {
import guest;
export guest;
import other-guest;
export other-guest;
export i1;
export i2;
export i3;
export i4;
}
interface i1 {
enum guest {
a, b, c,
}
x: func() -> guest;
}
interface i2 {
use i1.{guest};
x: func() -> guest;
}
interface i3 {
record guest {
x: u32,
}
x: func() -> guest;
}
interface i4 {
variant guest {
x(u32),
}
x: func() -> guest;
}