mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-28 04:37:32 +07:00
inference: don't erase inference variables (IDEA-151750)
This commit is contained in:
+1
-1
@@ -11,6 +11,6 @@ abstract class A1{
|
||||
abstract <T> T baz(List<? super T> a);
|
||||
|
||||
void bar(List<?> x){
|
||||
String o = baz<error descr="'baz(java.util.List<? super T>)' in 'A1' cannot be applied to '(java.util.List<capture<?>>)'">(x)</error>;
|
||||
<error descr="Incompatible types. Found: 'T', required: 'java.lang.String'">String o = baz(x);</error>
|
||||
}
|
||||
}
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
interface E {}
|
||||
interface F extends E {
|
||||
ArrayFactory<F> ARRAY_FACTORY = null;
|
||||
}
|
||||
|
||||
interface ArrayFactory<T> {
|
||||
T[] create(int count);
|
||||
}
|
||||
|
||||
interface Stub<K> {}
|
||||
|
||||
class M {
|
||||
|
||||
public F[] get(Stub s) {
|
||||
return foo(s, F.ARRAY_FACTORY);
|
||||
}
|
||||
|
||||
private <T extends E> T[] foo(Stub<T> stub, ArrayFactory<T> arrayFactory) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user