[
https://issues.apache.org/jira/browse/GROOVY-11744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18133977#comment-18133977
]
ASF GitHub Bot commented on GROOVY-11744:
-----------------------------------------
paulk-asert opened a new pull request, #3075:
URL: https://github.com/apache/groovy/pull/3075
…alue
A variable named _ may be declared again, the later declaration replacing
the earlier one, so a repeated _ in a multi-assignment or closure/lambda
parameter list holds the last value in both dynamic and statically compiled
code. This restores the Groovy 5 behaviour that 6.0.0 lost. Method and
constructor parameters are still checked for duplicates.
Not done: Removal of PlaceholderVisitor
> Unnamed variables are actually used
> -----------------------------------
>
> Key: GROOVY-11744
> URL: https://issues.apache.org/jira/browse/GROOVY-11744
> Project: Groovy
> Issue Type: Bug
> Reporter: Georgii Ustinov
> Assignee: Daniel Sun
> Priority: Major
>
> I am currently implementing Groovy 5 support inside Intellij IDEA and
> encountered the following behaviour. Consider the following code:
> {code:java}
> package org.example.demo
> static void main(String[] args) {
> def _ = 1
> def (_, _) = [2, 3]
> println _
> } {code}
> I expected that it will print 1, since variable declaration contains only
> unnamed variables.
> Actually it prints 3. The same behaviour can be encountered here:
> {code:java}
> def _ = 1
> def x = (_, _) -> {
> println(_)
> }
> x(2, 3){code}
> I beileve this is a bug.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)