> 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)

Reply via email to