Skip to content

Failed

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 #9 )
Took 0.71 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.junit.extension.TestCase.assertStringEquals(TestCase.java:260)
	at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:236)
	at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runJavac(AbstractRegressionTest.java:2052)
	at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2814)
	at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2539)
	at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1396)
	at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1393)
	at org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest.test204(MethodVerifyTest.java:11480)

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/comptest/run.1514610271420/1.8.0_131_20171230_000432.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

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