mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-25 02:21:17 +07:00
old spec issue is still not resolved and most probably won't be resolved in the future as would lead to the incompatibilities GitOrigin-RevId: be74d8ca83ce3c47d1e3dc9eb08de789fb881d2b
117 lines
4.4 KiB
Java
117 lines
4.4 KiB
Java
import java.util.List;
|
|
|
|
class SimpleDependency {
|
|
|
|
interface I<R extends U, U> {
|
|
R m();
|
|
}
|
|
|
|
{
|
|
I<? extends String, ? extends String> k = () -> null;
|
|
I<? extends String, String> k1 = () -> null;
|
|
I<? extends List<String>, List<String>> k2 = () -> null;
|
|
I<? extends List<String>, ? extends List<String>> k3 = () -> null;
|
|
I<? extends List<? extends String>, ? extends List<String>> k4 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends List<? extends String>, List<? extends String>> k5 = () -> null;
|
|
I<? extends List<? extends String>, ? extends List<? extends String>> k6 = () -> null;
|
|
|
|
I<? super String, String> s = () -> null;
|
|
I<? super List<String>, List<? extends String>> s1 = () -> null;
|
|
}
|
|
}
|
|
|
|
class NoDependency {
|
|
interface I<T, U> {
|
|
T m();
|
|
}
|
|
|
|
{
|
|
I<? extends String, ? extends String> k = () -> null;
|
|
}
|
|
}
|
|
|
|
class ExtendsList {
|
|
interface I<R extends List<T>, T> {
|
|
R m();
|
|
}
|
|
|
|
{
|
|
I<?, ? extends String> n = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<?, ?> n1 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<?, String> n2 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
|
|
|
|
I<? extends List<?>, String> e1 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends List<?>, ?> e2 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends List<String>, ? extends String> e3 = () -> null;
|
|
I<? extends List<? extends String>, ? extends String> e4 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
|
|
I<? super List<String>, ? extends String> s1 = () -> null;
|
|
I<? super List<String>, String> s2 = () -> null;
|
|
}
|
|
}
|
|
|
|
class MultipleBounds {
|
|
interface I<R extends List<T> & Comparable<T>, T> {
|
|
R m();
|
|
}
|
|
|
|
interface LC<K> extends List<K>, Comparable<K> {}
|
|
|
|
{
|
|
I<?, String> n = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
|
|
I<? extends List<String>, ? extends String> e1 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends Comparable<String>, ? extends String> e2 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends LC<String>, ? extends String> e3 = () -> null;
|
|
I<? extends LC<String>, String> e4 = () -> null;
|
|
I<? extends LC<? extends String>, String> e5 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
}
|
|
}
|
|
|
|
class FirstIndependentBound {
|
|
interface I<R extends List<String> & Comparable<T>, T> {
|
|
R m();
|
|
}
|
|
|
|
interface LC<K> extends List<String>, Comparable<K> {}
|
|
|
|
{
|
|
I<?, String> n = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
|
|
I<? extends List<String>, ? extends String> e1 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends Comparable<String>, ? extends String> e2 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends LC<String>, ? extends String> e3 = () -> null;
|
|
I<? extends LC<String>, String> e4 = () -> null;
|
|
I<? extends LC<? extends String>, String> e5 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
}
|
|
}
|
|
|
|
|
|
class SecondIndependentBound {
|
|
interface I<R extends List<T> & Comparable<String>, T> {
|
|
R m();
|
|
}
|
|
|
|
interface LC<K> extends List<String>, Comparable<K> {}
|
|
|
|
{
|
|
I<?, String> n = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
|
|
I<? extends List<String>, ? extends String> e1 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends Comparable<String>, ? extends String> e2 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends LC<String>, ? extends String> e3 = () -> null;
|
|
I<? extends LC<String>, String> e4 = () -> null;
|
|
I<? extends LC<? extends String>, String> e5 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
I<? extends LC<? extends String>, ? extends String> e6 = <error descr="Cannot infer functional interface type">() -> null</error>;
|
|
}
|
|
}
|
|
|
|
interface Unbound<A extends Number, B extends A> {
|
|
void accept();
|
|
|
|
static void m() {
|
|
Unbound<?, ?> s = <error descr="Cannot infer functional interface type">() -> {}</error>;
|
|
Unbound<?, ? extends Number> s1 = () -> {};
|
|
}
|
|
} |