1*fd3a827eSAlex Crichtonpackage foo:foo;
241417d9eSAlex Crichton
324785123SAlex Crichtoninterface a {
424785123SAlex Crichton  record foo {}
524785123SAlex Crichton
6*fd3a827eSAlex Crichton  a: func() -> foo;
724785123SAlex Crichton}
824785123SAlex Crichton
924785123SAlex Crichtoninterface b {
10*fd3a827eSAlex Crichton  use a.{foo};
1124785123SAlex Crichton
12*fd3a827eSAlex Crichton  a: func() -> foo;
1324785123SAlex Crichton}
1424785123SAlex Crichton
1524785123SAlex Crichtoninterface c {
16*fd3a827eSAlex Crichton  use b.{foo};
1724785123SAlex Crichton
18*fd3a827eSAlex Crichton  a: func() -> foo;
1924785123SAlex Crichton}
2024785123SAlex Crichton
2141417d9eSAlex Crichtonworld d {
22*fd3a827eSAlex Crichton  import a;
23*fd3a827eSAlex Crichton  import b;
2424785123SAlex Crichton  import d: interface {
25*fd3a827eSAlex Crichton    use c.{foo};
2624785123SAlex Crichton
27*fd3a827eSAlex Crichton    b: func() -> foo;
2824785123SAlex Crichton  }
2924785123SAlex Crichton}
30