### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.java,v retrieving revision 1.71 diff -u -r1.71 TypeVariableBinding.java --- compiler/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.java 23 Jan 2009 19:50:22 -0000 1.71 +++ compiler/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.java 27 Feb 2009 16:42:26 -0000 @@ -291,8 +291,9 @@ } boolean hasOnlyRawBounds() { - if (this.superclass != null && !this.superclass.isRawType()) - return false; + if (this.superclass != null && this.firstBound == this.superclass) + if (!this.superclass.isRawType()) + return false; if (this.superInterfaces != null) for (int i = 0, l = this.superInterfaces.length; i < l; i++) #P org.eclipse.jdt.core.tests.compiler Index: src/org/eclipse/jdt/core/tests/compiler/regression/AmbiguousMethodTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AmbiguousMethodTest.java,v retrieving revision 1.61 diff -u -r1.61 AmbiguousMethodTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/AmbiguousMethodTest.java 20 Feb 2009 21:27:40 -0000 1.61 +++ src/org/eclipse/jdt/core/tests/compiler/regression/AmbiguousMethodTest.java 27 Feb 2009 16:42:27 -0000 @@ -3037,4 +3037,33 @@ "----------\n" ); } + +//https://bugs.eclipse.org/bugs/show_bug.cgi?id=266421 +public void test075() { + this.runNegativeTest( + new String[] { + "C.java", + "abstract class A {\n" + + " abstract int x(T val);\n" + + "}\n" + + "class B extends A {\n" + + " @Override int x(T val) { return 0; }\n" + + "}\n" + + "class C extends B {\n" + + " int test(Double val) { return x(val); }\n" + + "}" + }, + "----------\n" + + "1. WARNING in C.java (at line 1)\n" + + " abstract class A {\n" + + " ^^^^^^^^^^\n" + + "Comparable is a raw type. References to generic type Comparable should be parameterized\n" + + "----------\n" + + "2. WARNING in C.java (at line 4)\n" + + " class B extends A {\n" + + " ^^^^^^^^^^\n" + + "Comparable is a raw type. References to generic type Comparable should be parameterized\n" + + "----------\n" + ); +} }