Subroutines with :multi seem to not work properly when used
inside a file with a .HLL declaration. Here's the test case:
$ cat x.pir
.HLL 'Perl6', ''
.sub main :main
$P0 = new .Integer
$P0 = 3
$P9 = 'foo'($P0)
$P0 = new .ResizablePMCArray
push $P0, 4
$P1 = new .String
$P1 = 'hello'
$P9 = 'foo'($P0, $P1)
.end
.sub 'foo' :multi(Integer)
print "foo(Integer)\n"
.return (0)
.end
.sub 'foo' :multi(ResizablePMCArray, _)
print "foo(ResizablePMCArray,_)\n"
.return (0)
.end
$ ./parrot x.pir
foo(ResizablePMCArray,_)
foo(ResizablePMCArray,_)
$
When the .HLL directive is omitted or otherwise commented out,
I get the expected output:
$ ./parrot x.pir
foo(Integer)
foo(ResizablePMCArray,_)
$
I'll add the above test case to t/pmc/mmd.t after I get the
RT number from this post. :-)
Thanks,
Pm