# New Ticket Created by Zoffix Znet
# Please include the string: [perl #129800]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=129800 >
# I have the fix; filing for records
The error message displayed claims I called the method with two
positonal arguments, rather than one positional and one named:
<ZoffixW> m: class Z { multi method meow {} }.meow: 42, :foo(42)
<camelia> rakudo-moar 6c0732: OUTPUT«Cannot resolve caller meow(Z:
Int, Int); none of these signatures match: (Z $: *%_) in block
<unit> at <tmp> line 1»
<ZoffixW> m: class Z { multi method meow {} }.meow: 42, :foo(Str)
<camelia> rakudo-moar 6c0732: OUTPUT«Cannot resolve caller meow(Z:
Int, Str); none of these signatures match: (Z $: *%_) in block
<unit> at <tmp> line 1»
Works fine for Bools
<ZoffixW> m: class Z { multi method meow {} }.meow: 42, :foo
<camelia> rakudo-moar 6c0732: OUTPUT«Cannot resolve caller meow(Z:
Int, :foo); none of these signatures match: (Z $: *%_) in block
<unit> at <tmp> line 1»
The issue is the string that's supposed to be showing proper named[^1]
has an interpolation
bug where it thinks we're trying to call the .key, which is Str and
that fails. BUT, the whole thing
is wrapped in a `try` so the failure is silent and we get into the
fallback that only gives us the type name. BUT,
that fallback also has a bugglet in that the `:` to indicate it's a
named param is missing.
[1]
https://github.com/rakudo/rakudo/blob/1e6c465ce27b457b66c1e92d11c23189cb2c451a/src/core/Exception.pm#L2305