The spec says:
An event type may not contain an unresolvable type variable.
The "unresolvable type variable" part should be interpreted as follows: A type variable is considered resolved if it can be substituted by an actual type. (If this happens we do not refer to it as a type variable anymore but rather as the actual type) Otherwise, it is considered unresolvable. This is not explicit in the spec and should be clarified.
In your example type variable E of List is substituted by a wildcard (? extends Number). A wildcard is not an actual type thus the type variable is unresolvable in this case.
|