use if !HAS_THREADS, 'Test::More',
(skip_all => "This is a test for threads ($@)");
-use if $Test::More::VERSION == 2.00_01, 'Test::More',
- (skip_all => "Test::Builder2 2.00_01 has bugs about threads");
-
+use if $Test::More::VERSION >= 2.00, 'Test::More',
+ (skip_all => "Test::Builder2 has bugs about threads");
{
package MyTraits;
is => 'rw',
isa => 'Foo',
);
+ has bar => (
+ is => 'rw',
+
+ lazy => 1,
+ default => sub { 42 },
+ );
package Foo;
use Mouse;
traits => [qw(MyTraits)],
);
}
+pass;
my $o = MyClass->new(foo => Foo->new(value => 42));
threads->create(sub{
$x->foo(Foo->new(value => 20));
is $x->foo->value, 20;
+
+ is $x->bar, 42, 'callback for default';
})->join();
is $o->foo->value, 42;