This was fixed in (2016-02-07)
https://github.com/rakudo/rakudo/commit/27752615026fe58fe2012825c5f4e55e7412c95a

my $a = <2147483648/1>; say $a # OUTPUT: «2147483648␤»

So it works now, as well as anything bigger:

my $a =
<99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/1>;
say $a # OUTPUT:
«99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999␤»

my $a =
<99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/2>;
say $a # OUTPUT:
«49999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999.5␤»

「testneeded」

On 2015-09-18 13:31:54, zef...@fysh.org wrote:
> $ ./perl6 -e 'my $a = <2147483647/1>; say 1'
> 1
> $ ./perl6 -e 'my $a = <2147483648/1>; say 1'
> ===SORRY!===
> Cannot find method 'compile_time_value'
>
> This happens with any numerator >= 2**31. Denominators that big aren't
> a problem. .perl uses this literal format in its output, so this problem
> on input prevents .perl.EVAL round-tripping some Rats.
>
> -zefram

Reply via email to