Следующий код компилируется с использованием JDK6 (я пробовал 1.6.0_24)
class XY<A extends XY<A, B>, B extends XY<B, A>> { }
Но компиляция под JDK7 (например, 1.7.0), я получаю эту ошибку:
XY.java:1: error: type argument B is not within bounds of type-variable A
class XY<A extends XY<A, B>, B extends XY<B, A>> {
^
where B,A are type-variables:
B extends XY<B,A> declared in class XY
A extends XY<A,B> declared in class XY
1 error
Может ли кто-нибудь указать, было ли это преднамеренное изменение для дженериков Java?