[ https://issues.apache.org/jira/browse/GROOVY-9058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King closed GROOVY-9058. ----------------------------- > each parameter type not correctly inferenced > -------------------------------------------- > > Key: GROOVY-9058 > URL: https://issues.apache.org/jira/browse/GROOVY-9058 > Project: Groovy > Issue Type: Bug > Components: Static compilation > Affects Versions: 2.5.6 > Reporter: Mauro Molinari > Assignee: Paul King > Priority: Major > Fix For: 3.0.0-beta-1, 2.5.7 > > Time Spent: 20m > Remaining Estimate: 0h > > Consider this Java class: > {code:java} > package test51; > import java.util.List; > public class Foo { > public List<Object[]> bar() { return null; } > }{code} > and this Groovy class: > {code:java} > package test51 > import groovy.transform.CompileStatic > @CompileStatic > class Test51 { > protected void foo() { > List<Object[]> foo = new Foo().bar() > foo.each { row -> > def o = row[0] > } > } > > List bar() { > } > }{code} > This produces a compiler error because {{row}} is resolved as {{Object}} > rather than {{Object[]}}. > A workaround is to declare {{row}} as {{Object[] row}} in the closure > parameter list. -- This message was sent by Atlassian JIRA (v7.6.3#76005)