Mark (>): > Does the unpacking participate in dispatch? If a Hash comes in as $t > with no 'left' key, will it fail to match?
Yes.
$ perl6 -e 'sub foo(%h($left)) { say $left }; foo({ left => "OH HAI" })'
OH HAI
$ perl6 -e 'sub foo(%h($left)) {}; foo({ no => "left key" })'
Not enough positional parameters passed; got 0 but expected 1
[...]
The error message is perhaps slightly LTA, but at least Rakudo
(correctly) fails to match.
// Carl
