# New Ticket Created by Moritz Lenz
# Please include the string: [perl #58564]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58564 >
Running rakudo r30739 against the attached file (which is a stripped
down version of t/blocks/sub_arg_errors.t from the pugs repository)
gives this error message:
../../parrot perl6.pbc sub_arg_errors.t
compilers/imcc/pbc.c:1733: failed assertion 'PObj_is_PMC_TEST(sig_arr)'
Backtrace - Obtained 32 stack frames (max trace depth is 32).
(unknown)
Parrot_confess
(unknown)
(unknown)
emit_flush
imc_compile_unit
(unknown)
yyparse
(unknown)
(unknown)
(unknown)
(unknown)
Parrot_NCI_invoke
Parrot_invokecc_p
(unknown)
(unknown)
(unknown)
(unknown)
Parrot_runops_fromc_args
(unknown)
(unknown)
do_sub_pragmas
PackFile_fixup_subs
(unknown)
(unknown)
(unknown)
Parrot_NCI_invoke
Parrot_invokecc_p
(unknown)
(unknown)
(unknown)
(unknown)
Aborted
Removing a few lines usually produces a segmentation fault.
I don't know if this is a rakudo or a parrot bug, or even both.
Cheers,
Moritz
--
Moritz Lenz
http://moritz.faui2k3.org/ | http://perl-6.de/
use v6;
use Test;
plan 6;
sub foo (*$x) { 1 }
dies_ok { foo(reverse(1,2)) }, 'slurpy args are now bounded (1)';
sub bar ([EMAIL PROTECTED]) { 1 }
lives_ok { bar(reverse(1,2)) }, 'slurpy args are now bounded (2)';
dies_ok eval('sub baz ($.x) { ... }'), 'parser rejects members as args (1)';
class Moo {
has $.y;
dies_ok eval('sub quux ($.x) { ... }'),
'parser rejects members as args (2)';
}