4 use constant HAS_THREADS => eval{ require threads };
6 use if !HAS_THREADS, 'Test::More', (skip_all => "This is a test for threads ($@)");
28 traits => [qw(MyTraits)],
32 my $o = MyClass->new(foo => Foo->new(value => 42));
34 my $x = MyClass->new(foo => Foo->new(value => 1));
37 $x->foo(Foo->new(value => 2));
41 MyClass->meta->make_immutable();
43 $x = MyClass->new(foo => Foo->new(value => 10));
44 is $x->foo->value, 10;
46 $x->foo(Foo->new(value => 20));
48 is $x->foo->value, 20;
51 is $o->foo->value, 42;
53 $o = MyClass->new(foo => Foo->new(value => 43));
54 is $o->foo->value, 43;
56 ok !$o->meta->is_immutable;