I see the same as Joseph:
$ raku
Welcome to 𝐑𝐚𝐤𝐮𝐝𝐨™ v2021.06.
Implementing the 𝐑𝐚𝐤𝐮™ programming language v6.d.
Built on MoarVM version 2021.06.
To exit type 'exit' or '^D'
> say do given all(3,7) { when Int { "both are Int" }; default {"not
similar"} };
not similar
> say so do all(3,7) ~~ Int;
True
> given all(3,7) { say $_; say $_.WHAT; }
all(3, 7)
(Junction)
> given all(3,7) { say so $_ ~~ Numeric; }
True
> $*VM
moar (2021.06)
>
On Tue, Nov 2, 2021 at 9:45 AM Joseph Brenner <[email protected]> wrote:
> A given/when construct using a junction isn't quite doing what I'd expect.
>
> I'd thought that that would confirm that both elements were Int:
>
> say do given all(3,7) { when Int { "both are Int" }; default {"not
> similar"} };
> ## not similar
>
> But this does what I thought it would:
>
> say so do all(3,7) ~~ Int;
> # True
>
> And the given seems to put the junction in $_ as expected:
>
> given all(3,7) { say $_; say $_.WHAT; }
> # all(3, 7)
> # (Junction)
>
> And you can use that junction in a smartmatch explicitly
>
> given all(3,7) { say so $_ ~~ Numeric; }
> # True
>