+ local $Test::Builder::Level = ($Test::Builder::Level || 0) + 1;
+ local $@;
+ if (not defined $want) { # void context
+ eval { $code->() };
+ } elsif (not $want) { # scalar context
+ $ret[0] = eval { $code->() };
+ } else {
+ @ret = eval { $code->() };
+ }