[
https://issues.apache.org/jira/browse/GROOVY-11736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18015793#comment-18015793
]
ASF GitHub Bot commented on GROOVY-11736:
-----------------------------------------
eric-milles opened a new pull request, #2279:
URL: https://github.com/apache/groovy/pull/2279
The interfaces of `Set` are `Collection` and `Iterable`.
Added some provenance information to error for re-implementing interface
with different type arguments.
`Delegate` does not need to add the super interface(s) to the enclosing
class; they are implemented transitively.
> Compile error in Groovy 5
> -------------------------
>
> Key: GROOVY-11736
> URL: https://issues.apache.org/jira/browse/GROOVY-11736
> Project: Groovy
> Issue Type: Bug
> Affects Versions: 5.0.0-rc-1
> Reporter: Mattias Reichel
> Assignee: Eric Milles
> Priority: Major
>
> This class hierarchy compiles successfully with Groovy 4.0.28.
> (It is used in the Grails codebase)
> {code:java}
> class A implements Collection {
> @Delegate Collection target
> A(Collection target) {
> this.target = target
> }
> }
> class B extends A implements Set {
> @Delegate Set target
> B(Set target) {
> super(target)
> this.target = target
> }
> }{code}
> In Groovy 5.0.0-rc-1 it fails to compile with the following error message:
> {code:java}
> 10: The interface Collection cannot be implemented more than once with
> different arguments: java.util.Collection<java.lang.Object> and
> java.util.Collection
> . At [10:1] @ line 10, column 1.
> class B extends A implements Set {
> ^1 error{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)