JDK-6330931 : Super wildcard has incorrect upper bound
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 5.0
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2005-09-30
  • Updated: 2010-04-02
  • Resolved: 2005-12-30
Related Reports
Duplicate :  
Description
import java.util.List;

class Foo {}
class Bar extends Foo {}
interface FooList<T extends Foo> extends List<T> {}

class Test {
    <T extends FooList<? super Bar>> void m(T t) {
	Foo f = t.get(0);
    }
}
The program below doesn't compile:

$ javac Test.java
Test.java:9: incompatible types
found   : java.lang.Object
required: Foo
        Foo f = t.get(0);
                     ^
1 error