mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
wildcard substitution partly reverted (IDEA-122700)
This commit is contained in:
-55
@@ -1,55 +0,0 @@
|
||||
import java.io.Serializable;
|
||||
|
||||
interface Parametrized<T extends Number> {}
|
||||
|
||||
class Bug1<T extends Serializable>{
|
||||
<I extends Number> Parametrized<I> foo(Parametrized<I> param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
void bug1(Parametrized<? super T> param) {
|
||||
foo(param);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
class Bug2<T extends Integer>{
|
||||
<I extends Number> Parametrized<I> foo(Parametrized<I> param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
void bug1(Parametrized<? super T> param) {
|
||||
foo(param);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
class Test {
|
||||
interface Parametrized<T extends Serializable> {}
|
||||
|
||||
class Bug1<T extends Serializable>{
|
||||
<I extends Number> Parametrized<I> foo(Parametrized<I> param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
void bug1(Parametrized<? super T> param) {
|
||||
<error descr="Inferred type 'java.io.Serializable' for type parameter 'I' is not within its bound; should extend 'java.lang.Number'">foo(param)</error>;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
class Bug2<T extends Integer>{
|
||||
<I extends Number> Parametrized<I> foo(Parametrized<I> param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
void bug1(Parametrized<? super T> param) {
|
||||
<error descr="Inferred type 'java.io.Serializable' for type parameter 'I' is not within its bound; should extend 'java.lang.Number'">foo(param)</error>;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -311,7 +311,7 @@ class WithingBounds {
|
||||
A<A<<error descr="Type parameter 'A' is not within its bound; should extend 'A<A>'">A</error>>> a3;
|
||||
|
||||
A<? extends A> a4;
|
||||
A<<error descr="Type parameter '? super A' is not within its bound; should extend 'A<A<T>>'">? super A</error>> a5;
|
||||
A<<error descr="Type parameter '? super A' is not within its bound; should extend 'A<? super A>'">? super A</error>> a5;
|
||||
A<<error descr="Type parameter 'A[]' is not within its bound; should extend 'A<A[]>'">A[]</error>> a7;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user