-
Bug
-
Resolution: Unresolved
-
P4
-
5.0, 7, 8
- Are Foo<Integer>.Bar and Foo<Double>.Bar distinct classes? Or do we need to assert, for subtyping, that the enclosing class types need to be equal?
- How do we handle Parent<Integer>.Bar vs. Child.Bar (Child extends Parent<Integer>)?
- Do wildcard-parameterized types have inner classes at all? If so, is Foo<Integer>.Bar a subtype of Foo<? extends Number>.Bar?
- Presumably Foo.Bar is a supertype of Foo<Integer>.Bar?
- Foo<Integer>.Bar is not a parameterized type, right? Do we ever overlook this fact, and assume a non-parameterized class type is the same as its erasure? (See, e.g., 5.1.10.)
Generally, much of Chapter 4 needs to be examined with such types in mind.
- relates to
-
JDK-8203335 15.9.3: Anonymous inner class can have capture type in supertype
- Open
-
JDK-8203337 5.1.6.2: Local inner class in generic method should be treated as generic
- Open
-
JDK-8203340 Type variable bounds referring to outer class not properly captured
- Open
-
JDK-8016196 Inference: define supertype parameterization for wildcard-parameterized types
- Open
-
JDK-7026147 8.8.7.1: Specify that type of enclosing class may be parameterized
- Open
-
JDK-8029704 Lambda Spec: Fix subtype inference for a non-parameterized inner class of a generic type
- Closed