- my $res = eval { cast $a, $wiz, sub { 5 }->() };
- is($@, '', "cast in thread $tid doesn't croak");
- is($c, 0, "cast in thread $tid doesn't trigger magic");
- my $b;
- eval { $b = $a };
- is($@, '', "get in thread $tid doesn't croak");
- is($b, 3, "get in thread $tid returns the right thing");
- is($c, 1, "get in thread $tid triggers magic");
- my $d = eval { getdata $a, $wiz };
- is($@, '', "getdata in thread $tid doesn't croak");
- is($d, 5 + $tid, "getdata in thread $tid returns the right thing");
- is($c, 1, "getdata in thread $tid doesn't trigger magic");
- $res = eval { dispell $a, $wiz };
- is($@, '', "dispell in thread $tid doesn't croak");
- is($c, 1, "dispell in thread $tid doesn't trigger magic");
- undef $b;
- eval { $b = $a };
- is($@, '', "get in thread $tid after dispell doesn't croak");
- is($b, 3, "get in thread $tid after dispell returns the right thing");
- is($c, 1, "get in thread $tid after dispell doesn't trigger magic");
- return;
-}