Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

class TestCase::Operator::Data::Weaken : public {
use TestCase::Operator::Weaken;
has data_weaken : public TestCase::Operator::Data::Weaken;
has x : public int;
has test_case : public TestCase::Operator::Weaken;
has weaken2 : public TestCase::Operator::Data::Weaken;
has test_cases : public TestCase::Operator::Weaken[];
has child : public TestCase::Operator::Data::Weaken;
has parent : public TestCase::Operator::Data::Weaken;
static method new : TestCase::Operator::Data::Weaken () {
return new TestCase::Operator::Data::Weaken;
}
method weaken_test_case : void () {
weaken $self->{test_case};
}
static method new_cross_reference_object : TestCase::Operator::Data::Weaken ($child : TestCase::Operator::Data::Weaken) {
my $parent = new TestCase::Operator::Data::Weaken;
$parent->{child} = $child;
$child->{parent} = $parent;
weaken $child->{parent};
return $parent;
}
}