I just found that my golfed test case seems to be flapping: $ for run in {1..10}; do (echo '#' > Bar.pm6; ./perl6-m -I. -e 'use Bar; my %h = b => 2; say %h<b>:zorp' 2>&1; ./perl6-m -I. -e 'use Bar; my %h = b => 2; say %h<b>:zorp' 2>&1) | grep -c 'Unexpected named parameter'; done 2 2 1 2 1 2 1 1 2 1
Sometimes the second evaluation returns '2', sometimes it gives the desired error. Setting MVM_SPESH_DISABLE=1 looks correct: $ for run in {1..10}; do (echo '#' > Bar.pm6; ./perl6-m -I. -e 'use Bar; my %h = b => 2; say %h<b>:zorp' 2>&1; MVM_SPESH_DISABLE=1 ./perl6-m -I. -e 'use Bar; my %h = b => 2; say %h<b>:zorp' 2>&1) | grep -c 'Unexpected named parameter'; done 2 2 2 2 2 2 2 2 2 2