On Tue, 19 Sep 2017 11:12:23 -0700, c...@zoffix.com wrote: > On Tue, 19 Sep 2017 08:23:07 -0700, c...@zoffix.com wrote: > > m: class Foo is Int {}; my Foo $x .= new: 42; say $x; say $x.WHAT; > > rakudo-moar bb4579: OUTPUT: «Type check failed in assignment to $x; > > expected Foo but got Int (42) in block <unit> at <tmp> line 1» > > > > This was broken by the fix to make it correctly handle >64bit ints, > > but apparently there are even articles that show how to subclass Ints: > > https://irclog.perlgeek.de/perl6/2017-09-19#i_15187511 > > > > The likely fix would be Int.new changed to this: > > > > method new (Int() \value) { > > nqp::p6bindattrinvres(self.bless, Int, q|$!value|, > > nqp::getattr(nqp::decont(value), Int, q|$!value|)) > > } > > > > But that currently segfaults: > > https://rt.perl.org/Ticket/Display.html?id=132126 > > > Fixed in: https://github.com/rakudo/rakudo/commit/0834036dd4 > Tests in: https://github.com/perl6/roast/commit/ba7d5c1dd1
In that case, resolving the ticket.