use Test; plan 5; # https://github.com/Raku/old-issue-tracker/issues/5258 { dies-ok { my $a = "a" x 2**30; my $b = "b" x 2**30; my $c = $a ~ $b; my $d = $b ~ $a; my $e = $c ~ $d; }, 'concatenating strings with `~` that would create a too large result dies'; dies-ok { (('a' x 1000000) x 1000000) }, 'repeating strings with `x` that would create a too large result dies'; } # https://github.com/Raku/old-issue-tracker/issues/5279 if $*VM.name eq 'jvm' { skip-rest 'OutOfMemoryError: Java heap space'; } else { my $a; lives-ok({ $a = 'a' x 1073741824 }, 'repeat count equal to the NQP limit works'); is($a.chars, 1073741824, 'correct result for count equal to the NQP limit'); throws-like({ $a = 'a' x 9999999999999999999 }, Exception, 'too large repeat count throws instead of going negative'); } # vim: expandtab shiftwidth=4