Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.3.4
-
None
Description
Consider the following Java class:
package l; public class LJava <T extends Number> { public T doSomething() { return null; } }
and the following Groovy class:
package l import groovy.transform.CompileStatic; @CompileStatic class L extends LJava<Integer> { Integer doSomething() { super.doSomething() } }
Static compilation fails because Groovy thinks that doSomething() for LJava<Integer> returns Number instead of Integer.