The parser seems to be interpreting what you mean as a ternary as a
null-safe array index.

On Thu, Sep 8, 2022, 08:37 o...@ocs.cz <o...@ocs.cz> wrote:

> Hi there,
>
> I've just decided it's time to upgrade from Groovy 3 to Groovy 4... and
> immediately bumped into a problem, which looks like a parser bug in an
> extremely trivial scenario, which seems weird.
>
> Do I perhaps miss something? I've checked
> https://groovy-lang.org/releasenotes/groovy-4.0.html#Groovy4.0-breaking,
> but in vain :(
>
> ===
> 2012 ocs /tmp> <q.groovy
> def p
> def x=p?[0]:[1]
> println "got $x"
> 2013 ocs /tmp> /usr/local/groovy-3.0.12/bin/groovy q
> got [1]
> 2014 ocs /tmp> /usr/local/groovy-4.0.4/bin/groovy q
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup
> failed:
> /private/tmp/q.groovy: 2: Unexpected input: ':' @ line 2, column 12.
>    def x=p?[0]:[1]
>               ^
>
> 1 error
>
> 2015 ocs /tmp>
> ===
>
> Thanks for any insight,
> OC
>
>

Reply via email to