blob: 1cad86808b98945503938a92c6b370f5fde584cd [file] [log] [blame]
import java.util.*;
class Main {
void test(List<Integer> li) {
Fun<Stream<Integer>, Stream<Integer>> f = s -> s.substr(0);
foo(li, f, Collections.emptyList());
foo(li, s -> s.substr(0), Collections.emptyList());
}
<T, U, S_OUT extends Stream<U>, It extends Iterable<U>> Collection<U>
foo(Collection<T> coll, Fun<Stream<T>, S_OUT> f, It it) {
return null;
}
interface Stream<T> {
Stream<T> substr(long startingOffset);
}
interface Fun<T, R> {
R _(T t);
}
}