Regression

org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest.test204 - 1.8 (from org.eclipse.jdt.core.tests.compiler.regression.TestAll)

Failing for the past 1 build (Since Failed#114 )
Took 0.72 sec.

Error Message

test204 - Javac found error(s) but Eclipse did not find any.
----------- Expected ------------

------------ but was ------------
OverrideBug.java:6: error: name clash: put(K#1,List<V#1>) in OverrideBug overrides a method whose erasure is the same as another method, yet neither overrides the other\n
public List<V> put(final K arg0, final List<V> arg1) {\n
               ^\n
  first method:  put(K#1,V#1) in OverrideBug\n
  second method: put(K#2,V#2) in Map\n
  where K#1,V#1,K#2,V#2 are type-variables:\n
    K#1 extends Object declared in class OverrideBug\n
    V#1 extends Object declared in class OverrideBug\n
    K#2 extends Object declared in interface Map\n
    V#2 extends Object declared in interface Map\n
OverrideBug.java:9: error: name clash: put(K#1,V#1) in OverrideBug and put(K#2,V#2) in Map have the same erasure, yet neither overrides the other\n
public List<V> put(final K arg0, final V arg1) {\n
               ^\n
  where K#1,V#1,K#2,V#2 are type-variables:\n
    K#1 extends Object declared in class OverrideBug\n
    V#1 extends Object declared in class OverrideBug\n
    K#2 extends Object declared in interface Map\n
    V#2 extends Object declared in interface Map\n
2 errors\n

--------- Difference is ----------
 expected:<[]> but was:<[OverrideBug.java:6: error: name clash: put(K#1,List<V#1>) in OverrideBug overrides a method whose erasure is the same as another method, yet neither overrides the other\n
public List<V> put(final K arg0, final List<V> arg1) {\n
               ^\n
  first method:  put(K#1,V#1) in OverrideBug\n
  second method: put(K#2,V#2) in Map\n
  where K#1,V#1,K#2,V#2 are type-variables:\n
    K#1 extends Object declared in class OverrideBug\n
    V#1 extends Object declared in class OverrideBug\n
    K#2 extends Object declared in interface Map\n
    V#2 extends Object declared in interface Map\n
OverrideBug.java:9: error: name clash: put(K#1,V#1) in OverrideBug and put(K#2,V#2) in Map have the same erasure, yet neither overrides the other\n
public List<V> put(final K arg0, final V arg1) {\n
               ^\n
  where K#1,V#1,K#2,V#2 are type-variables:\n
    K#1 extends Object declared in class OverrideBug\n
    V#1 extends Object declared in class OverrideBug\n
    K#2 extends Object declared in interface Map\n
    V#2 extends Object declared in interface Map\n
2 errors\n
]>

Stacktrace

junit.framework.ComparisonFailure: 
test204 - Javac found error(s) but Eclipse did not find any.
----------- Expected ------------

------------ but was ------------
OverrideBug.java:6: error: name clash: put(K#1,List<V#1>) in OverrideBug overrides a method whose erasure is the same as another method, yet neither overrides the other\n
public List<V> put(final K arg0, final List<V> arg1) {\n
               ^\n
  first method:  put(K#1,V#1) in OverrideBug\n
  second method: put(K#2,V#2) in Map\n
  where K#1,V#1,K#2,V#2 are type-variables:\n
    K#1 extends Object declared in class OverrideBug\n
    V#1 extends Object declared in class OverrideBug\n
    K#2 extends Object declared in interface Map\n
    V#2 extends Object declared in interface Map\n
OverrideBug.java:9: error: name clash: put(K#1,V#1) in OverrideBug and put(K#2,V#2) in Map have the same erasure, yet neither overrides the other\n
public List<V> put(final K arg0, final V arg1) {\n
               ^\n
  where K#1,V#1,K#2,V#2 are type-variables:\n
    K#1 extends Object declared in class OverrideBug\n
    V#1 extends Object declared in class OverrideBug\n
    K#2 extends Object declared in interface Map\n
    V#2 extends Object declared in interface Map\n
2 errors\n

--------- Difference is ----------
 expected:<[]> but was:<[OverrideBug.java:6: error: name clash: put(K#1,List<V#1>) in OverrideBug overrides a method whose erasure is the same as another method, yet neither overrides the other\n
public List<V> put(final K arg0, final List<V> arg1) {\n
               ^\n
  first method:  put(K#1,V#1) in OverrideBug\n
  second method: put(K#2,V#2) in Map\n
  where K#1,V#1,K#2,V#2 are type-variables:\n
    K#1 extends Object declared in class OverrideBug\n
    V#1 extends Object declared in class OverrideBug\n
    K#2 extends Object declared in interface Map\n
    V#2 extends Object declared in interface Map\n
OverrideBug.java:9: error: name clash: put(K#1,V#1) in OverrideBug and put(K#2,V#2) in Map have the same erasure, yet neither overrides the other\n
public List<V> put(final K arg0, final V arg1) {\n
               ^\n
  where K#1,V#1,K#2,V#2 are type-variables:\n
    K#1 extends Object declared in class OverrideBug\n
    V#1 extends Object declared in class OverrideBug\n
    K#2 extends Object declared in interface Map\n
    V#2 extends Object declared in interface Map\n
2 errors\n
]>
	at org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest.test204(MethodVerifyTest.java:11483)

Standard Output

org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest#test204 - 1.8
OverrideBug.java [
import java.util.List;
interface Map<K, V> {
	public V put(K key, V value);
}
public class OverrideBug<K, V> implements Map<K, List<V>> {
public List<V> put(final K arg0, final List<V> arg1) {
    return null;
}
public List<V> put(final K arg0, final V arg1) {
    return null;
}
}
]


Full results sent to /tmp/genie.jdt/comptest/run.1566619421654/1.8.0_162_20190824_000350.txt

Standard Error

--- javac err: ---
OverrideBug.java:6: error: name clash: put(K#1,List<V#1>) in OverrideBug overrides a method whose erasure is the same as another method, yet neither overrides the other
public List<V> put(final K arg0, final List<V> arg1) {
               ^
  first method:  put(K#1,V#1) in OverrideBug
  second method: put(K#2,V#2) in Map
  where K#1,V#1,K#2,V#2 are type-variables:
    K#1 extends Object declared in class OverrideBug
    V#1 extends Object declared in class OverrideBug
    K#2 extends Object declared in interface Map
    V#2 extends Object declared in interface Map
OverrideBug.java:9: error: name clash: put(K#1,V#1) in OverrideBug and put(K#2,V#2) in Map have the same erasure, yet neither overrides the other
public List<V> put(final K arg0, final V arg1) {
               ^
  where K#1,V#1,K#2,V#2 are type-variables:
    K#1 extends Object declared in class OverrideBug
    V#1 extends Object declared in class OverrideBug
    K#2 extends Object declared in interface Map
    V#2 extends Object declared in interface Map
2 errors

----------------------------------------