class GetClassClient {
        public void use() {
                Class<? extends LocalGeneric> v1 = null;
                Class<? extends LocalGeneric<Object>> v2 = null;
                v1 = v2;
              <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends GetClassClient.LocalGeneric>>', required: 'java.lang.Class<? extends GetClassClient.LocalGeneric<java.lang.Object>>'">v2 = v1</error>;
        }

        public static class LocalGeneric<T> {
        }
}


interface Comparable<T extends Comparable<T>> {}
class List<T> {}

class Foo implements Comparable<Foo> {
  public static void main(String[] args){
    List<? extends Foo> list = null;
    List<? extends Comparable> c = null;
    c = list;
  }
}