# 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() [...]

Reply via email to