Короче говоря, это не скомпилируется:
public <A> void test() { A[] temp = new A[]{}; }
Это из-за проблем с обратной совместимостью, или что-то фундаментальное в конструкции языка препятствует этому?