MostSpecific32.java revision 3469:0bf0d57dfdfa
1243791Sdim/* 2243791Sdim * @test /nodynamiccopyright/ 3353358Sdim * @bug 8144767 4353358Sdim * @summary Correct most-specific test when wildcards appear in functional interface type 5353358Sdim * @compile/fail/ref=MostSpecific32.out -XDrawDiagnostics MostSpecific32.java 6243791Sdim */ 7243791Sdimclass MostSpecific32 { 8243791Sdim 9243791Sdim interface A<T> {} 10243791Sdim interface B<T> extends A<T> {} 11243791Sdim 12243791Sdim interface F1<S> { A<S> apply(); } 13243791Sdim interface F2<S> { B<S> apply(); } 14280031Sdim 15280031Sdim static void m1(F1<? extends Number> f1) {} 16243791Sdim static void m1(F2<? extends Number> f2) {} 17243791Sdim 18243791Sdim void test() { 19243791Sdim m1(() -> null); // B<CAP ext Number> </: A<Number> 20243791Sdim } 21243791Sdim 22243791Sdim} 23341825Sdim