diff -r 16a698253f33 -r e6d1e9f29132 src/share/classes/com/sun/tools/javac/comp/Check.java --- a/src/share/classes/com/sun/tools/javac/comp/Check.java Tue Jun 10 12:41:39 2014 -0600 +++ b/src/share/classes/com/sun/tools/javac/comp/Check.java Tue Jun 10 15:25:01 2014 -0600 @@ -1813,6 +1813,11 @@ Type t1, Type t2, Type site) { + if ((site.tsym.flags() & COMPOUND) != 0) { + // special case for intersections: need to eliminate wildcards in supertypes + t1 = types.capture(t1); + t2 = types.capture(t2); + } return firstIncompatibility(pos, t1, t2, site) == null; }