diff -r c6d5efccedc3 -r 91e9834baff2 src/share/classes/com/sun/tools/javac/code/Types.java --- a/src/share/classes/com/sun/tools/javac/code/Types.java Fri Jun 20 20:36:54 2014 +0100 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java Mon Jul 21 10:45:40 2014 -0400 @@ -1396,6 +1396,7 @@ else { // debugContainsType(t, s); return isSameWildcard(t, s) + || t.type == s || isCaptureOf(s, t) || ((t.isExtendsBound() || isSubtypeNoCapture(wildLowerBound(t), cvarLowerBound(wildLowerBound(s)))) && // TODO: JDK-8039214, cvarUpperBound call here is incorrect