JDK-7148242 : Regression: valid code rejected during generic type well-formedness check
Type:Bug
Component:tools
Sub-Component:javac
Affected Version:7,8
Priority:P3
Status:Closed
Resolution:Fixed
OS:generic,windows_7
CPU:unknown,x86
Submitted:2012-02-23
Updated:2012-04-02
Resolved:2012-03-19
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
This code does not compile:
class Pair<K, V> { }
class TypeTest {
static abstract class A<K, V, I extends Pair<K, V>, I2 extends Pair<V, K>> {
abstract A<V, K, I2, I> test();
}
}
Comments
SUGGESTED FIX
A webrev of this fix is available at the following URL:
http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6aafebe9a394
02-03-2012
EVALUATION
This regression has been introduced by 6880344 - an additional type-variable substitution make the generic well-formedness test fail.