# New Ticket Created by Matt Diephouse # Please include the string: [perl #41014] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=41014 >
This patch address #40968: [BUG] underscore as :multi arg doesn't
work as expected.
Rather than change _ to mean any pmc or any native type in a :multi
signature, I've matched native types using their autoboxed PMC types.
That means that this now prints "ok":
.sub main :main
test('ok')
.end
.sub test :multi(String)
.param string str
say str
.end
.sub test :multi(Integer)
.param int num
say num
.end
It also means that "string", "int", and "float" no longer work as MMD
types -- you can't distinguish between native types and PMCs. I think
this is the right way to go now that we have autoboxing; I don't see
any reason to differentiate.
This patch also patches all the uses of string, int, and float in the
Parrot tree, replacing them with String, Integer, and Float. It does
not affect the MMD infix operators.
--
Matt Diephouse
mmd-autobox.patch
Description: Binary data
