### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/ast/CompoundAssignment.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CompoundAssignment.java,v retrieving revision 1.59 diff -u -r1.59 CompoundAssignment.java --- compiler/org/eclipse/jdt/internal/compiler/ast/CompoundAssignment.java 30 Jun 2009 14:24:18 -0000 1.59 +++ compiler/org/eclipse/jdt/internal/compiler/ast/CompoundAssignment.java 22 Jul 2009 15:50:02 -0000 @@ -107,6 +107,9 @@ scope.problemReporter().expressionShouldBeAVariable(this.lhs); return null; } + boolean expressionIsCast = this.expression instanceof CastExpression; + if (expressionIsCast) + this.expression.bits |= ASTNode.DisableUnnecessaryCastCheck; // will check later on TypeBinding originalLhsType = this.lhs.resolveType(scope); TypeBinding originalExpressionType = this.expression.resolveType(scope); if (originalLhsType == null || originalExpressionType == null) @@ -181,6 +184,8 @@ this.expression.computeConversion(scope, TypeBinding.wellKnownType(scope, (result >>> 8) & 0x0000F), originalExpressionType); this.preAssignImplicitConversion = (unboxedLhs ? BOXING : 0) | (lhsID << 4) | (result & 0x0000F); if (unboxedLhs) scope.problemReporter().autoboxing(this, lhsType, originalLhsType); + if (expressionIsCast) + CastExpression.checkNeedForArgumentCasts(scope, this.operator, result, this.lhs, originalLhsType.id, false, this.expression, originalExpressionType.id, true); return this.resolvedType = originalLhsType; } #P org.eclipse.jdt.core.tests.compiler Index: src/org/eclipse/jdt/core/tests/compiler/regression/CastTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/CastTest.java,v retrieving revision 1.47 diff -u -r1.47 CastTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/CastTest.java 15 Jul 2009 18:10:26 -0000 1.47 +++ src/org/eclipse/jdt/core/tests/compiler/regression/CastTest.java 22 Jul 2009 15:50:03 -0000 @@ -1719,7 +1719,7 @@ "3"); } //https://bugs.eclipse.org/bugs/show_bug.cgi?id=282869 -public void _test046() { +public void test046() { this.runConformTest( true, new String[] {