Thodoris Sotiropoulos created GROOVY-10306: ----------------------------------------------
Summary: STC rejects program when assigning a closure that returns a class field Key: GROOVY-10306 URL: https://issues.apache.org/jira/browse/GROOVY-10306 Project: Groovy Issue Type: Bug Components: Static Type Checker Reporter: Thodoris Sotiropoulos I have the following program {code:java} import java.util.function.Supplier; class Main { byte x = 1; void foo() { Supplier<Number> y = () -> x; } } {code} h3. Actual behaviour {code} org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Main.java: 8: [Static type checking] - Incompatible generic argument types. Cannot assign java.util.function.Supplier<java.lang.Byte> to: java.util.function.Supplier<java.lang.Number> @ line 8, column 31. Supplier<Number> y = () -> x; ^ 1 error {code} h3. Expected behaviour Compile successfully Note that if `x` is a local variabled defined in function `foo`, groovyc compiles the program successfully. Tested against master -- This message was sent by Atlassian Jira (v8.3.4#803005)