# 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

Attachment: mmd-autobox.patch
Description: Binary data

Reply via email to