Xiaotian Ma created GROOVY-11550: ------------------------------------ Summary: False negative "name clash" when method in child class changes a type argument Key: GROOVY-11550 URL: https://issues.apache.org/jira/browse/GROOVY-11550 Project: Groovy Issue Type: Bug Components: Compiler Affects Versions: 4.0.24, 5.0.0-alpha-11 Reporter: Xiaotian Ma
h1. Reproduction The compiler should not pass the given code and should give a "name clash" on method "func" in class "A" {code:groovy} public interface I<T> { public abstract void func(I<Object> arg1); } public abstract class A extends Object implements I<Object> { public final void func(I<String> arg1) { } } {code} h1. Expect output If class A is a Java class, you can see the error that should be reported by groovyc in javac output. {code:java} A.java:2: error: name clash: func(I<String>) in A and func(I<Object>) in I have the same erasure, yet neither overrides the other public final void func(I<String> arg1) { ^ 1 error {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)