Skip Menu |
Report information
Id: 128794
Status: new
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: ajs <ajs [at] ajs.com>
Cc:
AdminCc:

Severity: (no value)
Tag: (no value)
Platform: (no value)
Patch Status: (no value)
VM: (no value)



To: rakudobug [...] perl.org
Subject: Composing Rational results in stripped function attributes
Date: Sun, 31 Jul 2016 23:36:59 -0400
From: Aaron Sherman <ajs [...] ajs.com>
Example code:

$ perl6 -e 'class NotComposed { has &.func = ~*; }; class IsRat does Rational[Int,Int] { has &.func = ~* }; class IsReal does Real { has &.func = ~* }; say "In NotComposed, func={NotComposed.new.func.perl}"; say "In IsRat, func={IsRat.new.func.perl}"; say "In IsReal, func={IsReal.new.func.perl}"'
In NotComposed, func={ ... }
In IsRat, func=Callable
In IsReal, func={ ... }

Expected all three lines of output to indicate the same value.

I suspect the Rational.new method's nqp::create call is doing something unfriendly at:


Version and platform info:

$ perl6 -v
This is Rakudo version 2016.07.1-34-ge5c909c built on MoarVM version 2016.07-3-gc01472d
implementing Perl 6.c.

$ uname -a
Linux hostname 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


--
Aaron Sherman, M.:
P: 617-440-4332 Google Talk, Email and Google Plus: ajs@ajs.com
Toolsmith, developer, gamer and life-long student.



This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org