blob: 53e96c39b125e9f5fba6d79a6e135d27d734d10c [file] [log] [blame]
import java.lang.String;
interface I<A, B> {
B foo(A a);
}
class Foo<T> {
public <V> Foo<V> map(I<T, V> mapper) {
return new Foo<V>();
}
}
class NoInferenceResult {
<A, B> I<A, B> m(I<A, B> f) { return null; }
<T> void m1(T t) { }
void test() {
m((String s1) -> <error descr="Target type of a lambda conversion must be an interface">(String s2) -> s1 + s2</error>);
m((String s1) -> {return <error descr="Target type of a lambda conversion must be an interface">(String s2) -> s1 + s2</error>;});
m((String s1) -> s1.length());
m((String s1) -> s1);
m1<error descr="'m1(T)' in 'NoInferenceResult' cannot be applied to '(<lambda expression>)'">(() -> { })</error>;
Foo<String> foo = new Foo<String>();
foo.map(v -> null);
Foo<String> map1 = foo.map(value -> value + ", " + value);
}
}