langtools/test/tools/javac/lambda/MostSpecific32.java
changeset 38913 5b15a5ed3b0d
equal deleted inserted replaced
38912:2ddd6171351e 38913:5b15a5ed3b0d
       
     1 /*
       
     2  * @test /nodynamiccopyright/
       
     3  * @bug 8144767
       
     4  * @summary Correct most-specific test when wildcards appear in functional interface type
       
     5  * @compile/fail/ref=MostSpecific32.out -XDrawDiagnostics MostSpecific32.java
       
     6  */
       
     7 class MostSpecific32 {
       
     8 
       
     9     interface A<T> {}
       
    10     interface B<T> extends A<T> {}
       
    11 
       
    12     interface F1<S> { A<S> apply(); }
       
    13     interface F2<S> { B<S> apply(); }
       
    14 
       
    15     static void m1(F1<? extends Number> f1) {}
       
    16     static void m1(F2<? extends Number> f2) {}
       
    17 
       
    18     void test() {
       
    19         m1(() -> null); // B<CAP ext Number> </: A<Number>
       
    20     }
       
    21 
       
    22 }