| 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 |
| } |
| } |