Routine::WrapHandle Reference
Holds all information needed to unwrap a wrapped routine.
What it is #
class WrapHandle { ... }
Routines #
Signatures are reproduced from the documentation, including their declared return types. A routine listed here is part of the type's published interface; whether Raku++ implements it is a separate question, answered by the examples below.
method restore #
method restore(--> Bool:D)
Returns Bool:D.
Unwraps a wrapped routine and returns Bool::True on success.
Examples, run three ways #
Every example below comes from the official documentation, together with the output that documentation asserts. Each was then executed by Rakudo and by Raku++ when this page was built. Where the three agree, one result is shown; where they do not, all three are — because which of them is wrong is exactly the information worth having.
1 ok
sub f() { say 'f was called' }
my $wrap-handle = &f.wrap({ say 'before'; callsame; say 'after' });
f; # OUTPUT: «beforef was calledafter»
$wrap-handle.restore;
f; # OUTPUT: «f was called»before
f was called
after
f was called
Documentation, Rakudo and Raku++ all agree.