# New Ticket Created by "Carl Mäsak"
# Please include the string: [perl #77504]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=77504 >
<masak> has anyone else gotten this error message lately?
'postcircumfix:<Nil()> not defined for type Array()'
<masak> I find it weird and disconcerting.
<TimToady> maybe that's because it *is* weird and disconcerting
...then, a day later...
<masak> rakudo: ~[]<c>
<p6eval> rakudo d9aa57: OUTPUT«postcircumfix:<Nil()> not defined for
type Array() [...]
<masak> hah! got you, bug!
<masak> yeah!
* masak slams it into RT!
The error message is highly confusing. There's no such thing as
postcircumfix:<Nil()>. In fact, that looks like an interpolation gone
wrong somewhere. The error message should probably have read
'postcircumfix:<< < > >> not defined for type Array()' or something.
Something like The prefix:<~> in the error-triggering example is
required, because the hash access itself only generates a Failure,
which is then condensed into an actual run-time error by using the
failure somehow; for example, by stringifying it.
The same less-than-awesome error message is given for other types, and
for the .{} hash accessor as well:
<masak> rakudo: ~5<c>
<p6eval> rakudo d9aa57: OUTPUT«postcircumfix:<Nil()> not defined for
type Int() [...]
<masak> rakudo: ~5{'c'}
<p6eval> rakudo d9aa57: OUTPUT«postcircumfix:<Nil()> not defined for
type Int() [...]