The following is required to result in an unchecked diagnostic, but javac produces none. interface I { } class A<T> { void f(I xx) { A<T> yy = (A<T>)xx; } }