# New Ticket Created by  Darek Cidlinsky 
# Please include the string:  [perl #129255]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=129255 >


If a newline precedes the infinite list operator and the "next item" sub is 
given as a block, the program fails at runtime with an incomprehensible error 
report:

> *
>   in any  at 
> ~/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm line 1
>   in block <unit> at blah.p6 line 5

(I substituted the "~" into the full path.)

For example:

> (1,1,{$^a + $^b} ... *)[7].say

works OK (yields 21). If we split it into two lines like this:

> (1,1,{$^a + $^b}
> ... *)[7].say

, we get the aforementioned error.

However, if we use Whatever code like this:

> (1,1,*+*
> ... *)[7].say

, it still works OK and says 21.

I think that
        1) the behavior should be consistent (let the newline be either always 
permitted or always forbidden), and
        2) should the newline before the ... operator be forbidden, the error 
message could be clearer than a single asterisk.

Reply via email to