| /* | |
| * @test /nodynamiccopyright/ | |
| * @bug 8003280 | |
| * @summary Add lambda tests | |
| * Structural most specific doesn't handle cases with wildcards in functional interfaces | |
| * @compile/fail/ref=MostSpecific05.out -XDrawDiagnostics MostSpecific05.java | |
| */ | |
| public class MostSpecific05 { | |
| interface ObjectConverter<T extends Object> { | |
| T map(Object o); | |
| } | |
| interface NumberConverter<T extends Number> { | |
| T map(Object o); | |
| } | |
| static class MyMapper<A extends Object, B extends Number> { | |
| void map(ObjectConverter<? extends A> m) { } | |
| void map(NumberConverter<? extends B> m) { } | |
| } | |
| public static void meth() { | |
| MyMapper<Number, Double> mm = new MyMapper<Number, Double>(); | |
| mm.map(e->1.0); //ambiguous - implicit | |
| mm.map((Object e)->1.0); //ok | |
| } | |
| } |