Since this was all about .sprintf being called with only one argument but two
directives (also cmp. #106594) and since the Null PMC access error is gone,
this ticket could be closed IMHO.
On the other hand the error from sprintf doesn't look very awesome in the given
case:
$ perl6-m -e 'sprintf("%d %d", 3);'
No such method 'item' for invocant of type 'NQPMu'
in method message at src/gen/m-CORE.setting:13340
$ perl6-p -e 'sprintf("%d %d", 3);'
Type check failed in binding $expected; expected 'Any' but got 'Mu'
in block at gen/parrot/CORE.setting:963
in method BUILDALL at gen/parrot/CORE.setting:946
in method bless at gen/parrot/CORE.setting:935
in method new at gen/parrot/CORE.setting:920
in method new at gen/parrot/CORE.setting:918
$ perl6-j -e 'sprintf("%d %d", 3);'
Type check failed in binding $expected; expected 'Any' but got 'Mu'
in block at gen/jvm/CORE.setting:949
in method BUILDALL at gen/jvm/CORE.setting:932
in method bless at gen/jvm/CORE.setting:921
in method new at gen/jvm/CORE.setting:905
The error message looks better for strings (AFAIU that was fixed for ticket
#106594):
$ /perl6-m -e 'sprintf("%s %s", "foo");'
Too many directives: found 2, but only 1 arguments after the format string
So maybe instead of closing this ticket we should change the subject of this
ticket to 'LTA error message when .sprintf is called with more directives than
arguments (numeric)'?