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

Reply via email to