This fixes all the following issues (of which some are regressions):
4942040 improper handling of lub type for arrays, classes
5070671 Arrays.binarySearch can't infer int
6222762 Primitive arrays and varargs inference leads to crash in TreeMaker.Type(TreeMaker.java:531)
6332204 com.sun.tools.javac.code.Types.lub() throws NPE
6346876 Java compiler (javac) crashes on ternary operator type mismatch.
6355728 javac crashes with NullPointerException
This leads to a number of related problems which can cause the compiler
to reject incorrect programs or crash.
BugTraq+ Release Management Values
COMMIT TO FIX:
Correct. This is a loophole in the implementation of the type system, not the spec.