diff -r d635feaf3747 -r 30a415f8667f src/share/classes/com/sun/tools/javac/code/Types.java --- a/src/share/classes/com/sun/tools/javac/code/Types.java Fri Aug 08 15:16:25 2008 +0100 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java Fri Aug 08 17:38:20 2008 +0100 @@ -305,6 +305,11 @@ else if (t.tag == TYPEVAR) { return isSubtypeUnchecked(t.getUpperBound(), s, warn); } + else if (s.tag == UNDETVAR) { + UndetVar uv = (UndetVar)s; + if (uv.inst != null) + return isSubtypeUnchecked(t, uv.inst, warn); + } else if (!s.isRaw()) { Type t2 = asSuper(t, s.tsym); if (t2 != null && t2.isRaw()) {