Community
Participate
Working Groups
The following classes compile cleanly with JDK 6.0: public abstract class Base<Tvalue> implements BaseInterface<Tvalue>{ public void setValue(Object object) { } } public interface BaseInterface<Tvalue> { void setValue(Tvalue object); } public class BaseImpl extends Base<String> { public void setValue(String object) { } } However, the internal eclipse compiler reports the following error on BaseImpl (yes, BaseImpl): Name clash: The method setValue(Tvalue) of type BaseInterface<Tvalue> has the same erasure as setValue(Object) of type Base<Tvalue> but does not override it I can sort of see why the eclipse compiler might be correct but that doesn't help me, since the way to get round the problem with the real code (the above is a test case) is rather convoluted. I can't really use eclipse with this project, as a result.
Reproduced with 3.3.0.
Likely related to bug 195802. This problem also existed in 3.2.2
Added MethodVerifyTest test146 Released into HEAD for 3.4M1 Released for 3.3.1
fixed & released into both streams
Verified for 3.4M1 using build I20070802-0800.
+1 for 3.3.1
Verified for 3.3.1 using build M20070831-2000.