[ https://issues.apache.org/jira/browse/GROOVY-9570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ian updated GROOVY-9570: ------------------------ Description: {code:java} import groovy.transform.TypeChecked @TypeChecked abstract class A<T extends List>{ Collection<T> testQueue Closure c = { testQueue.each{T item-> println item } } //def foo() { // testQueue.each{T item-> // println item // } //} } new A<LinkedList>(){} {code} Put this in filename.groovy and call "groovy filename.groovy" and I get {noformat} org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: /home/ianl/closureGeneric.groovy: 9: Expected parameter of type java.lang.Object but got T @ line 7, column 24. testQueue.each{T item-> ^1 error{noformat} Yet, uncomment the method foo() and there's no error there. or put the closure definition into the method and there's no error. was: {code:java} import groovy.transform.TypeChecked@TypeChecked abstract class A<T extends List>{ Collection<T> testQueue Closure c = { testQueue.each{T item-> println item } } //def foo() { // testQueue.each{T item-> // println item // } //} } new A<LinkedList>(){} {code} Put this in filename.groovy and call "groovy filename.groovy" and I get {noformat} org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: /home/ianl/closureGeneric.groovy: 9: Expected parameter of type java.lang.Object but got T @ line 7, column 24. testQueue.each{T item-> ^1 error{noformat} Yet, uncomment the method foo() and there's no error there. or put the closure definition into the method and there's no error. > Class-Level Closure Definition With Generics Fails TypeChecked > -------------------------------------------------------------- > > Key: GROOVY-9570 > URL: https://issues.apache.org/jira/browse/GROOVY-9570 > Project: Groovy > Issue Type: Bug > Affects Versions: 2.5.5, 3.0.0, 3.0.3 > Reporter: Ian > Priority: Major > > > > {code:java} > import groovy.transform.TypeChecked > @TypeChecked > abstract class A<T extends List>{ > Collection<T> testQueue > Closure c = { > testQueue.each{T item-> > println item > } > } > //def foo() { > // testQueue.each{T item-> > // println item > // } > //} > } > new A<LinkedList>(){} > {code} > Put this in filename.groovy and call "groovy filename.groovy" and I get > > {noformat} > org.codehaus.groovy.control.MultipleCompilationErrorsException: startup > failed: > /home/ianl/closureGeneric.groovy: 9: Expected parameter of type > java.lang.Object but got T > @ line 7, column 24. > testQueue.each{T item-> > ^1 error{noformat} > Yet, uncomment the method foo() and there's no error there. or put the > closure definition into the method and there's no error. -- This message was sent by Atlassian Jira (v8.3.4#803005)