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


This code throws this error, even though I don't seem to be using two unnamed 
named params:

    $ perl6 -e 'role Foo { multi method x(:$x) { "role" } }; class :: does Foo 
{ multi method x(:$) { "class" } }.new.x.say'
    ===SORRY!=== Error while compiling -e
    Found named parameter '(unnamed)' twice in signature :(<anon|83252608> $: 
$, *%_): *%_ vs $
    at -e:1
    
Even thought pretty much any other combination of args or avoiding of role 
mixing does not have this error:

    $ perl6 -e 'class Foo { method x(::?CLASS:D: :$) { "class" } }.new.x.say'
    class
    $ perl6 -e 'class Foo { method x(:$) { "class" } }.new.x.say'
    class
    $ perl6 -e 'class Foo { multi method x(:$) { "class" } }.new.x.say'
    class
    $ perl6 -e 'role Foo { multi method x(:$x) { "role" } }; class :: does Foo 
{ multi method x(::?CLASS:D: :$) { "class" } }.new.x.say'
    class
    $ perl6 -e 'role Foo { multi method x() { "role" } }; class :: does Foo { 
multi method x(:$) { "class" } }.new.x.say'
    class

Reply via email to