1 /*
2  * @test /nodynamiccopyright/
3  * @bug 8003280
4  * @summary Add lambda tests
5  *  most specific resolution crashes on stuck lambdas
6  * @compile/fail/ref=MostSpecific06.out -XDrawDiagnostics MostSpecific06.java
7  */
8 import java.util.*;
9 
10 class MostSpecific06 {
11 
12     interface Predicate<X> {
accept(X x)13         boolean accept(X x);
14     }
15 
16     interface ExtPredicate<X> extends Predicate<X> { }
17 
18 
19 
test(boolean cond, ArrayList<String> als)20     void test(boolean cond, ArrayList<String> als) {
21         m(u -> true, als, als);
22         m((u -> true), als, als);
23         m(cond ? u -> true : u -> false, als, als);
24     }
25 
m(Predicate<U> p, List<U> lu, ArrayList<U> au)26     <U> U m(Predicate<U> p, List<U> lu, ArrayList<U> au) { return null; }
27 
28 
m(ExtPredicate<U> ep, ArrayList<U> au, List<U> lu)29     <U> U m(ExtPredicate<U> ep, ArrayList<U> au, List<U> lu) { return null; }
30 }
31