test/tools/javac/lambda/TargetType13.java

Thu, 06 Jun 2013 15:33:40 +0100

author
mcimadamore
date
Thu, 06 Jun 2013 15:33:40 +0100
changeset 1811
349160289ba2
parent 0
959103a6100f
permissions
-rw-r--r--

8008627: Compiler mishandles three-way return-type-substitutability
Summary: Compiler should not enforce an order in how ambiguous methods should be resolved
Reviewed-by: jjg, vromero

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8003280
     4  * @summary Add lambda tests
     5  *  failure to infer exception thrown types from lambda body causes checked exception to be skipped
     6  * @author  Maurizio Cimadamore
     7  * @compile/fail/ref=TargetType13.out -XDlambdaInferenceDiags=false -XDrawDiagnostics TargetType13.java
     8  */
    10 class TargetType13 {
    12     interface SAM<E extends Throwable> {
    13        void m(Integer x) throws E;
    14     }
    16     static <E extends Throwable> void call(SAM<E> s) throws E { }
    18     void test() {
    19         call(i -> { if (i == 2) throw new Exception(); return; });
    20     }
    21 }

mercurial