# New Ticket Created by  Sam S. 
# Please include the string:  [perl #130930]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=130930 >


    say <a b> X~ (1, 2, 3);       # (a1 a2 a3 b1 b2 b3)
    say <a b> X~ |(1, 2, 3);      # (a123 b123)
    say <a b> X~ (1, 2, 3).Slip;  # (a123 b123)

Those last two seem wrong. It's as if the meta-operator thinks it got
four arguments, i.e. as if it was called like:

    say &[X~]( <a b>, 1, 2, 3 );  # (a123 b123)

I think in keeping with the single-argument rule, the X and Z
meta-operators should behave as if both sides were bound to a +@
parameter, which would "disarm" the Slip and keep it from messing with
the internal algorithm:

    sub a (+@a) { dd @a };
    a |(1, 2, 3);                 # [1, 2, 3]

Reply via email to