<div dir="ltr">Hi,<div><br></div><div>I'm never sure what type inference is supposed to work with or not, but I have an example what I find strange that it does not compile successfully:</div><div><br></div><div>```</div><div>import java.util.*;<br><br>public class Test {<br>    private static <T> void arrayMethod(List<? super T>[] args) {<br>        listMethod(Arrays.asList(args));<br>    }<br><br>    private static <T> void listMethod(List<List<? super T>> list) {<br>    }<br>}<br></div><div>```</div><div><br></div><div>I have tried this with 11.0.20, 20.0.2 and 21 RC, and all fails with this:</div><div><br></div><div>>     listMethod(Arrays.asList(args));<br>>     ^<br>> required: List<List<? super T#1>><br>> found:    List<List<? super T#2>><br>> reason: inference variable T#3 has incompatible bounds<br>> equality constraints: List<? super CAP#1><br>> lower bounds: List<? super T#2><br>> where T#1,T#2,T#3 are type-variables:<br>> T#1 extends Object declared in method <T#1>listMethod(List<List<? super T#1>>)<br>> T#2 extends Object declared in method <T#2>arrayMethod(List<? super T#2>[])<br>> T#3 extends Object declared in method <T#3>asList(T#3...)<br>> where CAP#1 is a fresh type-variable:<br>> CAP#1 extends Object super: T#2 from capture of ? super T#2<br></div><div><br></div><div>Of course, if I explicitly specify the type argument for `Arrays.asList`, then it compiles fine, but I fail to see why this should not work without explicitly specifying the type arguments.</div><div><br></div><div>Thanks,</div><div>Attila</div></div>