# New Ticket Created by Zoffix Znet # Please include the string: [perl #131149] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=131149 >
This appears to be a regression happened since last release, so would be beneficial to fix this before the release: 13:02 c: 2017.03,HEAD class { has uint $.x }.new: :x(2**64-1) 13:02 committable6 Zoffix, ¦2017.03: «» ¦HEAD(fbc6697): «Cannot unbox 64 bit wide bigint into native integer in block <unit> at /tmp/EY1TW4ElM7 line 1 «exit code = 1»» 13:02 Zoffix That's got broken innit? 2*64-1 fits into uint? 13:03 m: uint.Range.max.say 13:03 camelia rakudo-moar fbc669: OUTPUT: «18446744073709551615» 13:03 Zoffix m: say 2**64-1 13:03 camelia rakudo-moar fbc669: OUTPUT: «18446744073709551615» At first glance, the issue appears to be due to calling mp_count_bits on an mp_int that contains the uint value. That should either be changed to mp_uint, if there is such a thing, or the counted bits check should be adjusted for the uint-in-a-int difference. 13:08 Zoffix Is there mp_uint? 13:08 * dogbert17 will now try with 'better-fsa' 13:08 Zoffix m: class { has uint $.x }.new: :x(2**64-1) 13:08 camelia rakudo-moar fbc669: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer in block <unit> at <tmp> line 1» 13:09 Zoffix This used to work in last release. And in this commit, we're calling count bits function on an mp_int, so it blows up: https://github.com/MoarVM/MoarVM/commit/66dd8c9#diff-7c76a26bfc12243d0362c1b3478553a8R38