// Double forward declared struct test, created by Martin Corino <mcorino@remedy.nl>

module Test
{
  struct S3;

  struct S1
  {
    string hello;
  };

  struct S3;

  typedef sequence<S3> TS3Seq;

  struct S3
  {
    TS3Seq m_seq;
    boolean m_has_more;
  };

  struct S4;
  typedef sequence<S4> TS4Seq;

  struct S5;
  typedef sequence<S5> TS5Seq;

  struct S4
  {
    boolean a;
  };
  struct S5
  {
    boolean b;
  };

  typedef long FooType;
  struct FooStruct  {
    FooType Foo1;
    FooType Foo2;
  };
};
