diff -r 32b6a99cc74e -r 0ad781399706 src/share/classes/com/sun/tools/javac/comp/Lower.java --- a/src/share/classes/com/sun/tools/javac/comp/Lower.java Tue Aug 13 18:34:06 2013 -0700 +++ b/src/share/classes/com/sun/tools/javac/comp/Lower.java Wed Aug 14 10:53:37 2013 +0100 @@ -3436,7 +3436,7 @@ eType, List.nil()); VarSymbol itvar = new VarSymbol(0, names.fromString("i" + target.syntheticNameChar()), - types.erasure(iterator.type.getReturnType()), + types.erasure(types.asSuper(iterator.type.getReturnType(), syms.iteratorType.tsym)), currentMethodSym); JCStatement init = make.