| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8003280 |
| * @summary Add lambda tests |
| * Structural most specific doesn't handle cases with wildcards in functional interfaces |
| * @compile/fail/ref=MostSpecific04.out -XDrawDiagnostics MostSpecific04.java |
| */ |
| public class MostSpecific04 { |
| |
| interface DoubleMapper<T> { |
| double map(T t); |
| } |
| |
| interface LongMapper<T> { |
| long map(T t); |
| } |
| |
| static class MyList<E> { |
| void map(DoubleMapper<? super E> m) { } |
| void map(LongMapper<? super E> m) { } |
| } |
| |
| public static void meth() { |
| MyList<String> ls = new MyList<String>(); |
| ls.map(e->e.length()); //ambiguous - implicit |
| ls.map((String e)->e.length()); //ok |
| } |
| } |