[ https://issues.apache.org/jira/browse/GROOVY-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15403834#comment-15403834 ]
ASF GitHub Bot commented on GROOVY-7774: ---------------------------------------- Github user paulk-asert commented on a diff in the pull request: https://github.com/apache/groovy/pull/376#discussion_r73140995 --- Diff: src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java --- @@ -5176,7 +5176,9 @@ public static Map groupBy(Object[] self, List<Closure> closures) { G key = outer.getKey(); List<Map.Entry<K, V>> entries = outer.getValue(); Map<K, V> target = createSimilarMap(self); - putAll(target, entries); --- End diff -- Nice suggestion. Done. > Collection addAll fails CompileStatic type checking when adding a collection > of subtypes > ---------------------------------------------------------------------------------------- > > Key: GROOVY-7774 > URL: https://issues.apache.org/jira/browse/GROOVY-7774 > Project: Groovy > Issue Type: Bug > Components: groovy-jdk > Affects Versions: 2.4.3 > Environment: Windows, Java 8. > Reporter: Darren Hurt > Assignee: Paul King > Fix For: 2.4.8 > > > Suppose X is an interface and Y an interface such that Y extends X > The following code throws a compilation error (the outer class is annotated > as @CompileStatic). > {code} > Set<X> set = new HashSet<X>() > Set<Y> toAdd = ...... > set.addAll(toAdd) > {code} > However, the following works, which to me is inconsistent: > {code} > Set<X> set = new HashSet<X>() > Set<Y> toAdd = ...... > for(Y y in toAdd) { > set.add(y) > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)