Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.1.9
-
None
Description
@groovy.transform.CompileStatic class Foo { String method() { return callT('abc') } private <T> T callT(T t) { return callV(t) } private <V> V callV(V v) { return v } } println new Foo().method()
Without @CompileStatic annotation, it outputs 'abc'.
With @CompileStatic annotation, it generates a compilation error:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: /Users/abrown/tmp/groovy/generics.groovy: 8: [Static type checking] - Cannot call Foo#callV(java.lang.Object <V>) with arguments [java.lang.Object <T>] @ line 8, column 10. return callV(t) ^ 1 error