class Jls7error<T extends OutputStream> {
class Jls7errorInner<S extends T> {
public S out;
}
}
Согласно документации Oracle jls7, этот код не должен компилироваться:
It is a compile-time error to refer to a type parameter of a generic class C anywhere in
...
• any class nested within C.
http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.1.2
(стр. 185, docs.oracle.com/javase/specs/jls/ se7/jls7.pdf)
На самом деле этот код компилируется и работает на моем jdk 1.7 Это ошибка документации?
РЕДАКТИРОВАТЬ: это была ошибка документации в версии PDF. Oracle исправил документацию в формате html и pdf.