Failures get thrown when outputting to standard streams
Kaiepi opened this issue · comments
Standard stream output relies on the gist
method. This means that when a traced routine returns a failure when outputting to standard streams:
sub foo is traced { fail 'oops!' }();
It will always get thrown:
1 ROUTINE CALL [1 @ 1579967725.429901]
<== sub foo (GLOBAL)
!!! X::AdHoc
oops!
in sub foo at test.raku line 5
in sub foo at /home/morfent/Documents/p6-Trait-Traced/lib/Traced/Routine.pm6 (Traced::Routine) line 157
in block <unit> at test.raku line 5
This would also happen for routine arguments and stash values. There needs to be a proper way of dealing with outputting failures when outputting to standard streams.
Fixed with 2977c53