diff -r 129751018061 -r 558fe98d1ac0 src/share/classes/com/sun/tools/javac/code/Types.java --- a/src/share/classes/com/sun/tools/javac/code/Types.java Tue Jul 23 16:06:11 2013 -0700 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java Tue Jul 23 20:42:54 2013 -0400 @@ -134,7 +134,7 @@ * @return the upper bound of the given type */ public Type upperBound(Type t) { - return upperBound.visit(t); + return upperBound.visit(t).unannotatedType(); } // where private final MapVisitor upperBound = new MapVisitor() { @@ -1130,9 +1130,9 @@ HashSet set = new HashSet(); for (Type x : interfaces(t)) - set.add(new UniqueType(x, Types.this)); + set.add(new UniqueType(x.unannotatedType(), Types.this)); for (Type x : interfaces(s)) { - if (!set.remove(new UniqueType(x, Types.this))) + if (!set.remove(new UniqueType(x.unannotatedType(), Types.this))) return false; } return (set.isEmpty());