blob: a73d3f856341967507fb129f02d4371ac5ee8b2d [file] [log] [blame]
public class Issue450 {
Issue450(int i, Runnable... runnables) {}
Issue450(Consumer<String> consumer) {
consumer.consume("hello"); // Use lambda as a constructor argument
}
interface Top {
public void consume(String s);
}
interface Sub extends Top {
public default void otherMethod() {}
}
interface Consumer<T> {
void consume(T t);
}
void varargs(Runnable... runnables) {}
public static void consumeStr(String str) {}
public static void consumeStr2(String str) {}
<E extends Consumer<String>> void context(E e, Sub s) {
new Issue450(Issue450::consumeStr);
Consumer<String> cs1 = (false) ? Issue450::consumeStr2 : Issue450::consumeStr;
Consumer<String> cs2 = (false) ? e : Issue450::consumeStr;
Top t = (false) ? s : Issue450::consumeStr;
new Issue450(42, new Thread()::start); // Use lambda as a constructor argument
varargs(new Thread()::start, new Thread()::start); // Use lambda in a var arg list of method
}
}