1*b96a9f4fSAlex Crichtonpackage a:b;
2*b96a9f4fSAlex Crichton
3*b96a9f4fSAlex Crichtonworld imports {
4*b96a9f4fSAlex Crichton  import interface-with-live-type;
5*b96a9f4fSAlex Crichton  import interface-with-dead-type;
6*b96a9f4fSAlex Crichton}
7*b96a9f4fSAlex Crichton
8*b96a9f4fSAlex Crichtoninterface interface-with-live-type {
9*b96a9f4fSAlex Crichton  record live-type {
10*b96a9f4fSAlex Crichton    a: u32,
11*b96a9f4fSAlex Crichton  }
12*b96a9f4fSAlex Crichton  f: func() -> live-type;
13*b96a9f4fSAlex Crichton}
14*b96a9f4fSAlex Crichton
15*b96a9f4fSAlex Crichton
16*b96a9f4fSAlex Crichtoninterface interface-with-dead-type {
17*b96a9f4fSAlex Crichton  use interface-with-live-type.{live-type};
18*b96a9f4fSAlex Crichton
19*b96a9f4fSAlex Crichton  record dead-type {
20*b96a9f4fSAlex Crichton    a: u32,
21*b96a9f4fSAlex Crichton  }
22*b96a9f4fSAlex Crichton
23*b96a9f4fSAlex Crichton  variant v {
24*b96a9f4fSAlex Crichton    a(live-type),
25*b96a9f4fSAlex Crichton    b(dead-type),
26*b96a9f4fSAlex Crichton  }
27*b96a9f4fSAlex Crichton}
28