1package foo:foo;
2
3world w {
4  export simple-export;
5  export export-using-import;
6
7  export export-using-export1;
8  export export-using-export2;
9}
10
11interface simple-export {
12  resource a {
13    constructor();
14    static-a: static func() -> u32;
15    method-a: func() -> u32;
16  }
17}
18
19interface export-using-import {
20  use transitive-import.{y};
21  resource a {
22    constructor(y: y);
23    static-a: static func() -> y;
24    method-a: func(y: y) -> y;
25  }
26}
27
28interface transitive-import {
29  resource y;
30}
31
32interface export-using-export1 {
33  resource a {
34    constructor();
35  }
36}
37
38interface export-using-export2 {
39  use export-using-export1.{a};
40  resource b {
41    constructor(a: a);
42  }
43}
44
45interface export-fallible-constructor {
46  resource a {
47    constructor() -> result<a, string>;
48  }
49}
50