Regression

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

Failing for the past 1 build (Since Failed#108 )
Took 0.62 sec.

Error Message

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

------------ but was ------------
BaseImpl.java:3: error: name clash: setValue(String) in BaseImpl overrides a method whose erasure is the same as another method, yet neither overrides the other\n
class BaseImpl extends Base<String> { public void setValue(String object) {} }\n
                                                  ^\n
  first method:  setValue(Object) in Base\n
  second method: setValue(Tvalue) in BaseInterface\n
  where Tvalue is a type-variable:\n
    Tvalue extends Object declared in interface BaseInterface\n
1 error\n

--------- Difference is ----------
 expected:<[]> but was:<[BaseImpl.java:3: error: name clash: setValue(String) in BaseImpl overrides a method whose erasure is the same as another method, yet neither overrides the other\n
class BaseImpl extends Base<String> { public void setValue(String object) {} }\n
                                                  ^\n
  first method:  setValue(Object) in Base\n
  second method: setValue(Tvalue) in BaseInterface\n
  where Tvalue is a type-variable:\n
    Tvalue extends Object declared in interface BaseInterface\n
1 error\n
]>

Stacktrace

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

------------ but was ------------
BaseImpl.java:3: error: name clash: setValue(String) in BaseImpl overrides a method whose erasure is the same as another method, yet neither overrides the other\n
class BaseImpl extends Base<String> { public void setValue(String object) {} }\n
                                                  ^\n
  first method:  setValue(Object) in Base\n
  second method: setValue(Tvalue) in BaseInterface\n
  where Tvalue is a type-variable:\n
    Tvalue extends Object declared in interface BaseInterface\n
1 error\n

--------- Difference is ----------
 expected:<[]> but was:<[BaseImpl.java:3: error: name clash: setValue(String) in BaseImpl overrides a method whose erasure is the same as another method, yet neither overrides the other\n
class BaseImpl extends Base<String> { public void setValue(String object) {} }\n
                                                  ^\n
  first method:  setValue(Object) in Base\n
  second method: setValue(Tvalue) in BaseInterface\n
  where Tvalue is a type-variable:\n
    Tvalue extends Object declared in interface BaseInterface\n
1 error\n
]>
	at org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest.test145(MethodVerifyTest.java:9263)

Standard Output

org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest#test145 - 1.8
BaseImpl.java [
abstract class Base<Tvalue> implements BaseInterface<Tvalue>{ public void setValue(Object object) {} }
interface BaseInterface<Tvalue> { void setValue(Tvalue object); }
class BaseImpl extends Base<String> { public void setValue(String object) {} }
]


Full results sent to /tmp/genie.jdt/comptest/run.1562990652563/1.8.0_162_20190713_000421.txt

Standard Error

--- javac err: ---
BaseImpl.java:3: error: name clash: setValue(String) in BaseImpl overrides a method whose erasure is the same as another method, yet neither overrides the other
class BaseImpl extends Base<String> { public void setValue(String object) {} }
                                                  ^
  first method:  setValue(Object) in Base
  second method: setValue(Tvalue) in BaseInterface
  where Tvalue is a type-variable:
    Tvalue extends Object declared in interface BaseInterface
1 error

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