mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-21 14:37:45 +07:00
do not rebound captured wildcard (IDEA-57325)
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
||||
interface IA<T> {
|
||||
IA<? extends T> foo();
|
||||
}
|
||||
|
||||
class A {
|
||||
void baz(IA<? extends Throwable> x) {
|
||||
bar(x.foo());
|
||||
}
|
||||
|
||||
<T extends Throwable> void bar(IA<T> a) {
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -39,7 +39,7 @@ public class VarianceTesting {
|
||||
k[0] = new VarianceTesting();
|
||||
x.method()[0] = new VarianceTesting();
|
||||
<error descr="Incompatible types. Found: 'VarianceTesting[]', required: 'capture<? extends VarianceTesting>[]'">x.arrayField = new VarianceTesting[10]</error>;
|
||||
l1.addAll<error descr="'addAll(java.util.Collection<? extends capture<? extends VarianceTesting>>)' in 'java.util.List' cannot be applied to '(java.util.ArrayList<VarianceTesting>)'">(new ArrayList<VarianceTesting>())</error>;
|
||||
l1.addAll<error descr="'addAll(java.util.Collection<capture<? extends VarianceTesting>>)' in 'java.util.List' cannot be applied to '(java.util.ArrayList<VarianceTesting>)'">(new ArrayList<VarianceTesting>())</error>;
|
||||
<error descr="Incompatible types. Found: 'java.util.ArrayList<java.lang.String>', required: 'java.util.List<? extends VarianceTesting>'">List<? extends VarianceTesting> l2 = new ArrayList<String>();</error>
|
||||
List<? extends VarianceTesting> l3 = l2;
|
||||
VarianceTesting t = l1.get(0);
|
||||
|
||||
Reference in New Issue
Block a user