On Oct 3, 2005, at 21:58, Roger Browne (via RT) wrote:
Under Parrot 0.2.3 the following PIR program prints "4" as expected: .sub "main" @MAIN .local pmc a, b a = new Integer a = 2 b = a.__add(a) print b print "\n" end .end Under Parrot 0.3.0 the same code fails like this: parrot: src/nci.c:72: get_nci_P: Assertion `n < st->src.n' failed.
Yep. The equivalent tests in t/pmc/mmd.t are still skipped. The problem is that the infix multi subs take an optional 3rd argument (the destination) and that there is no good means yet to denote :optional NCI arguments.
But please note that there is hardly a real need to invoke the method directly. Just use:
b = a + a This will call the "__add" multi, whatever it is. leo