diff -r f2048d9c666e -r e9e41c88b03e src/share/classes/com/sun/tools/javac/code/Types.java --- a/src/share/classes/com/sun/tools/javac/code/Types.java Thu Nov 04 12:57:48 2010 +0000 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java Thu Nov 04 12:58:29 2010 +0000 @@ -3151,7 +3151,7 @@ return to.isParameterized() && (!(isUnbounded(to) || isSubtype(from, to) || - ((subFrom != null) && isSameType(subFrom, to)))); + ((subFrom != null) && containsType(to.allparams(), subFrom.allparams())))); } private List superClosure(Type t, Type s) {