[
https://issues.apache.org/jira/browse/GROOVY-11736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18014691#comment-18014691
]
Eric Milles edited comment on GROOVY-11736 at 8/18/25 5:55 PM:
---------------------------------------------------------------
If you add {{(interfaces=false)}} to {{Delegate}} in your example will compile.
Since you are adding the interfaces yourself, you don't need the transform to
add {{Iterable}} for {{A}} and {{Collection}} and {{Iterable}} for {{B}}.
was (Author: emilles):
If you add {{interfaces=false}} your example will compile. Since you are
adding the interfaces yourself, you don't need the transform to add
{{Iterable}} for {{A}} and {{Collection}} and {{Iterable}} for {{B}}.
> 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)