On Mon, 27 Feb 2017 14:27:04 -0800, zef...@fysh.org wrote: > Zoffix Znet via RT wrote: > >Fix: https://github.com/rakudo/rakudo/commit/db70a1fda8 > > This doesn't distinguish between an exception being thrown and the > expression evaluating to an exception object. The former is an error > condition that must be reported; the latter is a successful evaluation > in the same category as evaluating to a string. Incorrect behaviour > (failing to suppress output of a normal evaluation which produced its > own output) can be seen thus: > > > say 123; try { my Int $a; $a = "foo" }; say 456; $! > 123 > 456 > Type check failed in assignment to $a; expected Int but got Str ("foo") > in block <unit> at <unknown file> line 1 > > Your single $output variable is too narrow to make the distinctions that > you need. > > -zefram >
Thanks for catching that one. Fixed now. Fix: https://github.com/rakudo/rakudo/commit/61a65cee3d Tests: https://github.com/rakudo/rakudo/commit/61a65cee3d