mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-24 17:51:09 +07:00
55 lines
1.2 KiB
Java
55 lines
1.2 KiB
Java
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) {
|
|
foo<error descr="'foo(Test.Parametrized<I>)' in 'Test.Bug1' cannot be applied to '(Test.Parametrized<capture<? super T>>)'">(param)</error>;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
class Bug2<T extends Integer>{
|
|
<I extends Number> Parametrized<I> foo(Parametrized<I> param) {
|
|
return null;
|
|
}
|
|
|
|
void bug1(Parametrized<? super T> param) {
|
|
foo<error descr="'foo(Test.Parametrized<I>)' in 'Test.Bug2' cannot be applied to '(Test.Parametrized<capture<? super T>>)'">(param)</error>;
|
|
}
|
|
|
|
|
|
}
|
|
} |