tonyo@enoch:~/projects/p6-h-s-r$ perl6 --ll-exception x.pl6
Cannot invoke this object (REPR: Null; VMNull)
at /Users/tonyo/projects/p6-h-s-r/y/Y.pm6 (Y):6 (/Users/tonyo/projects/p6-h-s-r/y/.precomp/651DA045F6BA3FB0DDA33AD830613B52F79A9425.1500492012.29739/23/23EB4D3F4155395A74E9D534F97FF4C1908F5AAC:)
from gen/moar/Metamodel.nqp:4033 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/nqp/lib/Perl6/Metamodel.moarvm:enter)
from SETTING::src/core/Routine.pm:85 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/perl6/runtime/CORE.setting.moarvm:CALL-ME)
from gen/moar/BOOTSTRAP.nqp:3001 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/nqp/lib/Perl6/BOOTSTRAP.moarvm:)
from x.pl6:9 (<ephemeral file>:<unit>)
from x.pl6:1 (<ephemeral file>:<unit-outer>)
from gen/moar/stage2/NQPHLL.nqp:1589 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1810 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/nqp/lib/NQPHLL.moarvm:evalfiles)
from gen/moar/stage2/NQPHLL.nqp:1735 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:42 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/nqp/lib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1677 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/main.nqp:47 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/perl6/runtime/perl6.moarvm:MAIN)
from gen/moar/main.nqp:38 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/perl6/runtime/perl6.moarvm:<mainline>)
from <unknown>:1 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/perl6/runtime/perl6.moarvm:<main>)
from <unknown>:1 (/Users/tonyo/projects/rakudobrew/moar-blead-nom/install/share/perl6/runtime/perl6.moarvm:<entry>)```
#!/usr/bin/env perl6
use soft;
use lib 'y';
use X;
my $x = X::EXPORT::DEFAULT::<&x>;
say $x(5);
use Y;
use soft;
module X {
sub x($*y) is echo is export {
$*y * $*y;
};
}
unit module Y;
use JSON::Fast;
use soft;
multi sub trait_mod:<is>(Routine $sub, :$echo!) is export {
$sub.wrap( -> $y {
"hi $y".say;
callsame;
});
}