langtools/src/share/classes/com/sun/tools/javac/code/Types.java
changeset 9721 da048be191c2
parent 9607 94b7adcaccad
child 9812 f716e42cb230
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java	Wed May 11 13:10:57 2011 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java	Wed May 11 13:12:11 2011 +0200
@@ -955,7 +955,9 @@
         if (t.isPrimitive() != s.isPrimitive())
             return allowBoxing && (
                     isConvertible(t, s, warn)
-                    || (allowObjectToPrimitiveCast && isConvertible(s, t, warn)));
+                    || (allowObjectToPrimitiveCast &&
+                        s.isPrimitive() &&
+                        isSubtype(boxedClass(s).type, t)));
         if (warn != warnStack.head) {
             try {
                 warnStack = warnStack.prepend(warn);