On Mon, 24 Apr 2017 15:32:33 -0700, alex.jakime...@gmail.com wrote: > Run this: > perl6 --target=ast -e '^…' > > And among normal lines from the output you will see these messages: > > Oops!!! Cannot invoke this object (REPR: P6opaque; NQPMu) > > I don't think it should happen. > > > Full output here: > > - QAST::CompUnit :W<?> :UNIT<?> > [pre_deserialize] > - QAST::Stmt > - QAST::Stmt > - QAST::Op(loadbytecode) > - QAST::VM > [jvm] > - QAST::SVal(ModuleLoader.class) > [moar] > - QAST::SVal(ModuleLoader.moarvm) > - QAST::Op(callmethod load_module) > - QAST::Op(gethllsym) > - QAST::SVal(nqp) > - QAST::SVal(ModuleLoader) > - QAST::SVal(Perl6::ModuleLoader) > - QAST::Op(forceouterctx) > - QAST::BVal(2) > - QAST::Op(callmethod load_setting) > - QAST::Op(getcurhllsym) > - QAST::SVal(ModuleLoader) > - QAST::SVal(CORE) > [post_deserialize] > - QAST::Stmts > - QAST::Op(bind) > - QAST::Var(attribute $!do) > - QAST::WVal(Block) > - QAST::WVal(Code) > - QAST::BVal(1) > - QAST::Op(bindcurhllsym) > - QAST::SVal(GLOBAL) > - QAST::WVal(GLOBAL) > [load] > - QAST::Op(call) > - QAST::BVal(2) > [children] > - QAST::Block :in_stmt_mod<?> ^… > - QAST::Var(local __args__ :decl(param)) > - QAST::Stmts > - QAST::Op(call) > - QAST::Block(:blocktype(declaration_static)) > :IN_DECL<mainline> :in_stmt_mod<?> :code_object<?> :outer<?> > - QAST::Stmts > - QAST::Var(lexical $¢ :decl(contvar)) > - QAST::Var(lexical $! :decl(contvar)) > - QAST::Var(lexical $/ :decl(contvar)) > - QAST::Var(lexical $_ :decl(contvar)) > - QAST::Var(lexical GLOBALish :decl(static)) > - QAST::Var(lexical EXPORT :decl(static)) > - QAST::Var(lexical $?PACKAGE :decl(static)) > - QAST::Var(lexical ::?PACKAGE :decl(static)) > - QAST::Var(lexical $=finish :decl(static)) > - QAST::Var(lexical $=pod :decl(static)) > [value] > - > - QAST::Var(lexical !UNIT_MARKER :decl(static)) > - QAST::VM > [jvm] > - QAST::Op(null) > [moar] > - QAST::Op(null) > [loadlibs] > - nqp_group nqp_ops perl6_ops bit_ops math_ops trans_ops > io_ops obscure_ops os file sys_ops nqp_bigint_ops nqp_dyncall_ops > - QAST::Stmts > - QAST::Op(bind) > - QAST::Var(local ctxsave :decl(var)) > - QAST::Var(contextual $*CTXSAVE) > - QAST::Op(unless) > - QAST::Op(isnull) > - QAST::Var(local ctxsave) > - QAST::Op(if) > - QAST::Op(can) > - QAST::Var(local ctxsave) > - QAST::SVal(ctxsave) > - QAST::Op(callmethod ctxsave) > - QAST::Var(local ctxsave) > - QAST::Stmts > - QAST::WVal(Array) > - QAST::Stmts <sunk> ^… > - QAST::Stmt <sunk final> ^… > - QAST::Want <sunk> > - QAST::Op(call &prefix:<^>) <sunk> :statement_id<?> > ^ > - QAST::Op(call &fail) <wanted> … > - QAST::Op(callmethod new) <wanted> > - QAST::WVal(X::StubCode) <wanted> > Oops!!! Cannot invoke this object (REPR: P6opaque; NQPMu) > - v > - QAST::Op(p6sink) > - QAST::Op(call &prefix:<^>) <sunk> > :statement_id<?> ^ > - QAST::Op(call &fail) <wanted> … > - QAST::Op(callmethod new) <wanted> > - QAST::WVal(X::StubCode) <wanted> > Oops!!! Cannot invoke this object (REPR: P6opaque; NQPMu) > - QAST::WVal(Nil)
Fixed with commit https://github.com/rakudo/rakudo/commit/49dce163e8182ee726cd1e512a03c29551cc16da Found by bisectbot++ using: bisect: my $p = run :out, <perl6 --target=ast -e ^…>; say $p.out.slurp-rest.contains: ‘Oops’ Tests should not be added to roast, rather https://github.com/rakudo/rakudo/tree/master/t