use TestCase::Weaken2;

class TestCase::Weaken {
  has x1 : int;
  has test_case : TestCase;
  has weaken2 : TestCase::Weaken2;
  has test_cases : TestCase[];
  
  set test_case, weaken2, x1;
  get test_case, weaken2, x1;
  
  method weaken_test_case : void ($self : TestCase::Weaken) {
    weaken $self->{test_case};
  }
  static method new : TestCase::Weaken () {
    return new TestCase::Weaken;
  }
}