[
https://issues.apache.org/jira/browse/GROOVY-10588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles reassigned GROOVY-10588:
------------------------------------
Assignee: Eric Milles
> TypeChecked/CompileStatic wildcard problems
> -------------------------------------------
>
> Key: GROOVY-10588
> URL: https://issues.apache.org/jira/browse/GROOVY-10588
> Project: Groovy
> Issue Type: Bug
> Components: Static compilation, Static Type Checker
> Affects Versions: 4.0.1
> Reporter: Leonard Brünings
> Assignee: Eric Milles
> Priority: Major
>
> The following works fine in 2.x/3x but fails with Groovy 4.0.1
> {code:groovy}
> @groovy.transform.CompileStatic
> class Reproducer {
>
> Map<String, ?> formData = [:]
>
> Map<String, ?> getCsrfTokenField() {
> [:]
> }
>
> def broken() {
> resolveFormData(formData + csrfTokenField)
> }
>
> static Map<String, String> resolveFormData(Map<String, ?> formData) {
> formData.collectEntries { k, v -> [k, v instanceof Closure ?
> v().toString() : v] }
> }
>
> static void main(String... args) {
> println 'compiled successfully'
> }
> }
> {code}
> Fails with
> {noformat}
> [Static type checking] - Cannot call <K,V>
> org.codehaus.groovy.runtime.DefaultGroovyMethods#plus(java.util.Map<K, V>,
> java.util.Map<K, V>) with arguments [java.util.Map<java.lang.String, ?>,
> java.util.Map<java.lang.String, ? extends java.lang.Object>]
> @ line 11, column 19.
> {noformat}
> [Groovy Web
> Console|https://gwc-experiment.appspot.com/?g=groovy_4_0&codez=eJx1UctqwzAQPNtfsbfYNNUHhNYJuM2tl6a3kIMqr42IrDVa2RCC_71-t0nJHCSxzM4D7QpH1FyEd9JyTq4UKZWVNnjw0msVKiOZ4RMrR1mt0ME1hA7D8SGrl4N32hZr2CbQb79JL-EVjpvTQ1qBPmWXf9EZ7V6jyaJ4Eu0xb7a_-xnm8O16-sAMAodMpsH95Bctxk-gbpTjeykeSt0kGu8E7kUflPubdZ4JRcag8u-24yPDFc5raOA5gePw0LbztQoph9QQ1w5hC00UC0-jQ9drA81pSvo_b0M6g1JqG418IQRIV_ASJqi6sTcWVmr8vQy4VgqZ89qYy2rWa8M2DJf8PX4A4IWY-g]
--
This message was sent by Atlassian Jira
(v8.20.7#820007)