On Tue, 20 Jun 2017 10:42:18 -0700, druoso wrote:
> > subset StrToInt of Str where +*; multi foo(Int(StrToInt) $f) { say $f };
> foo("42");
> Cannot invoke this object (REPR: Null; VMNull)
>   in whatevercode  at <unknown file> line 1

Looks to be an optimizer bug:

zoffix@VirtualBox~$ perl6 -e 'm: subset StrToInt of Str where {dd .Numeric; 
.Numeric}; multi foo(Int(StrToInt) $f) { say $f }; foo("42");'
Use of uninitialized value of type Str in numeric context
  in block  at -e line 1
0
Use of uninitialized value of type Str in numeric context
  in block  at -e line 1
42
42
42
zoffix@VirtualBox~$ perl6 --optimize=off -e 'm: subset StrToInt of Str where 
{dd .Numeric; .Numeric}; multi foo(Int(StrToInt) $f) { say $f }; foo("42");'
42
42
42
zoffix@VirtualBox~$ perl6 -e 'm: subset StrToInt of Str where {dd .Numeric; 
.Numeric}; sub foo(Int(StrToInt) $f) { say $f }; foo("42");'                    
                                                                                
                   
42
42
zoffix@VirtualBox~$ 

Reply via email to