--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Thu Jul 24 19:06:57 2008 +0100
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Fri Jul 25 12:05:43 2008 +0100
@@ -2944,8 +2944,10 @@
itvar.type,
List.<Type>nil());
JCExpression vardefinit = make.App(make.Select(make.Ident(itvar), next));
- if (iteratorTarget != syms.objectType)
- vardefinit = make.TypeCast(iteratorTarget, vardefinit);
+ if (tree.var.type.isPrimitive())
+ vardefinit = make.TypeCast(types.upperBound(iteratorTarget), vardefinit);
+ else
+ vardefinit = make.TypeCast(tree.var.type, vardefinit);
JCVariableDecl indexDef = (JCVariableDecl)make.VarDef(tree.var.mods,
tree.var.name,
tree.var.vartype,