Mauro Molinari created GROOVY-9058: -------------------------------------- Summary: 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
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)