void (String[] args) { B<? extends CharSequence> q = new B<>(); Func x = q::<error descr="Incompatible types: CharSequence is not convertible to capture of ? extends CharSequence">foo</error>; x.invoke(""); }