> On 08 Sep 2015, at 16:44, (via RT) <perl6-bugs-follo...@perl.org> wrote: > > # New Ticket Created by > # Please include the string: [perl #126018] > # in the subject line of all future correspondence about this issue. > # <URL: https://rt.perl.org/Ticket/Display.html?id=126018 > > > > $ cat golf.p6 > class A > { > has $.integer where * > 0; > has %!hash; > > method meth { > my $a = 0; > my $b = $a / $!integer; > my $c = $a ?? 100 * ($a - +%!hash) / $a !! 0; > } > } > > A.new(integer => 7).meth; > > $ perl6 golf.p6 > ===SORRY!=== > Cannot invoke this object (REPR: Null, cs = 0) > > $ perl6 --version > This is perl6 version 2015.07.1-756-g16d366a built on MoarVM version > 2015.07-108-g7e9f29e
Further golf down: class A { has $.i where * > 0; method a { 0 / $!i } } The blowup appears at compile time. It also doesn’t blow up with the optimizer disabled with —optimize=off . Full stack trace follows below. Liz $ perl6 --ll-exception golf.p6 Cannot invoke this object (REPR: Null, cs = 0) at golf.p6:3 (<ephemeral file>::13) from src/Perl6/World.nqp:1832 (blib/Perl6/World.moarvm::17) from src/gen/m-CORE.setting:4444 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/./CORE.setting.moarvm:ACCEPTS:43) from src/gen/m-CORE.setting:956 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/./CORE.setting.moarvm:ACCEPTS:39) from src/gen/m-Metamodel.nqp:3237 (blib/Perl6/Metamodel.moarvm:accepts_type:22) from src/gen/m-BOOTSTRAP.nqp:2431 (blib/Perl6/BOOTSTRAP.moarvm::285) from src/gen/m-Perl6-Optimizer.nqp:1283 (blib/Perl6/Optimizer.moarvm:optimize_call:151) from src/gen/m-Perl6-Optimizer.nqp:1146 (blib/Perl6/Optimizer.moarvm:visit_op:994) from src/gen/m-Perl6-Optimizer.nqp:1709 (blib/Perl6/Optimizer.moarvm:visit_children:108) from src/gen/m-Perl6-Optimizer.nqp:1549 (blib/Perl6/Optimizer.moarvm:visit_want:246) from src/gen/m-Perl6-Optimizer.nqp:1712 (blib/Perl6/Optimizer.moarvm:visit_children:122) from src/gen/m-Perl6-Optimizer.nqp:1727 (blib/Perl6/Optimizer.moarvm:visit_children:246) from src/gen/m-Perl6-Optimizer.nqp:1721 (blib/Perl6/Optimizer.moarvm:visit_children:187) from src/gen/m-Perl6-Optimizer.nqp:1169 (blib/Perl6/Optimizer.moarvm:visit_op_children:19) from src/gen/m-Perl6-Optimizer.nqp:1051 (blib/Perl6/Optimizer.moarvm:visit_op:398) from src/gen/m-Perl6-Optimizer.nqp:1709 (blib/Perl6/Optimizer.moarvm:visit_children:108) from src/gen/m-Perl6-Optimizer.nqp:1169 (blib/Perl6/Optimizer.moarvm:visit_op_children:19) from src/gen/m-Perl6-Optimizer.nqp:1051 (blib/Perl6/Optimizer.moarvm:visit_op:398) from src/gen/m-Perl6-Optimizer.nqp:1709 (blib/Perl6/Optimizer.moarvm:visit_children:108) from src/gen/m-Perl6-Optimizer.nqp:1727 (blib/Perl6/Optimizer.moarvm:visit_children:246) from src/gen/m-Perl6-Optimizer.nqp:1169 (blib/Perl6/Optimizer.moarvm:visit_op_children:19) from src/gen/m-Perl6-Optimizer.nqp:1051 (blib/Perl6/Optimizer.moarvm:visit_op:398) from src/gen/m-Perl6-Optimizer.nqp:1709 (blib/Perl6/Optimizer.moarvm:visit_children:108) from src/gen/m-Perl6-Optimizer.nqp:896 (blib/Perl6/Optimizer.moarvm:visit_block:70) from src/gen/m-Perl6-Optimizer.nqp:1718 (blib/Perl6/Optimizer.moarvm:visit_children:150) from src/gen/m-Perl6-Optimizer.nqp:1727 (blib/Perl6/Optimizer.moarvm:visit_children:246) from src/gen/m-Perl6-Optimizer.nqp:896 (blib/Perl6/Optimizer.moarvm:visit_block:70) from src/gen/m-Perl6-Optimizer.nqp:1718 (blib/Perl6/Optimizer.moarvm:visit_children:150) from src/gen/m-Perl6-Optimizer.nqp:1727 (blib/Perl6/Optimizer.moarvm:visit_children:246) from src/gen/m-Perl6-Optimizer.nqp:1727 (blib/Perl6/Optimizer.moarvm:visit_children:246) from src/gen/m-Perl6-Optimizer.nqp:1721 (blib/Perl6/Optimizer.moarvm:visit_children:187) from src/gen/m-Perl6-Optimizer.nqp:1727 (blib/Perl6/Optimizer.moarvm:visit_children:246) from src/gen/m-Perl6-Optimizer.nqp:896 (blib/Perl6/Optimizer.moarvm:visit_block:70) from src/gen/m-Perl6-Optimizer.nqp:876 (blib/Perl6/Optimizer.moarvm:optimize:134) from src/Perl6/Compiler.nqp:64 (blib/Perl6/Compiler.moarvm:optimize:31) from gen/moar/stage2/NQPHLL.nqp:1536 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm:compile:202) from gen/moar/stage2/NQPHLL.nqp:1272 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm:eval:62) from gen/moar/stage2/NQPHLL.nqp:1492 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm:evalfiles:91) from gen/moar/stage2/NQPHLL.nqp:1386 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm:command_eval:214) from src/Perl6/Compiler.nqp:59 (blib/Perl6/Compiler.moarvm:command_eval:93) from gen/moar/stage2/NQPHLL.nqp:1360 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm:command_line:114) from src/gen/m-main.nqp:39 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/perl6.moarvm:MAIN:18) from src/gen/m-main.nqp:35 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/perl6.moarvm:<mainline>:197) from <unknown>:1 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/perl6.moarvm:<main>:8) from <unknown>:1 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/perl6.moarvm:<entry>:9)