[
https://issues.apache.org/jira/browse/GROOVY-7927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15462703#comment-15462703
]
Jochen Theodorou commented on GROOVY-7927:
------------------------------------------
I tried
{code:Java}
import groovy.transform.*
import org.elasticsearch.index.query.QueryBuilder
import static org.elasticsearch.index.query.QueryBuilders.rangeQuery
@Grapes(
@Grab(group='org.elasticsearch', module='elasticsearch',
version='1.5.2')
)
@CompileStatic
class GroovyTest {
static void addHandler(List<QueryBuilder> filters) {
filters << rangeQuery('test')
// but this one works:
// filters << (QueryBuilder) rangeQuery('test')
}
static void main(String[] args) {
List<QueryBuilder> list = []
addHandler(list)
list.each { println(it) }
}
}
{code}
and this compiles and executes
> Static type checking
> --------------------
>
> Key: GROOVY-7927
> URL: https://issues.apache.org/jira/browse/GROOVY-7927
> Project: Groovy
> Issue Type: Bug
> Components: Static compilation
> Affects Versions: 2.4.7
> Reporter: Cazacu Mihai
> Assignee: Jochen Theodorou
> Fix For: 2.4.8
>
>
> I have a problem running this code:
>
> {code:title=Test.groovy|borderStyle=solid}
> import groovy.transform.CompileStatic
> import java.util.function.Function
>
> @CompileStatic
> class Test {
> static void main(String[] args) {
> // this code fails
> Function<Integer, Integer> fct = { Integer n ->
> -n
> }
>
> // this one works but it is too verbose
> // Function<Integer, Integer> fct = ({ Integer n ->
> // -n
> // } as Function<Integer, Integer>)
>
> println fct.apply(10)
> }
> }
> {code}
> Error:
> {quote}
> Test.groovy: 9: [Static type checking] - Incompatible generic argument types.
> Cannot assign java.util.function.Function <java.lang.Integer,
> groovy.lang.Closure> to: java.util.function.Function <Integer, Integer>
> @ line 9, column 36.
> Function<Integer, Integer> fct = { Integer n ->
> ^
> 1 error
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)