test/tools/javac/lambda/MostSpecific07.java

Fri, 22 Mar 2013 12:43:09 +0000

author
mcimadamore
date
Fri, 22 Mar 2013 12:43:09 +0000
changeset 1655
c6728c9addff
parent 0
959103a6100f
permissions
-rw-r--r--

8010303: Graph inference: missing incorporation step causes spurious inference error
Summary: Multiple equality constraints on inference vars are not used to generate new inference constraints
Reviewed-by: jjg

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8003280
     4  * @summary Add lambda tests
     5  *  speculative cache contents are overwritten by deferred type-checking of nested stuck expressions
     6  * @compile/fail/ref=MostSpecific07.out -XDrawDiagnostics MostSpecific07.java
     7  */
     8 import java.util.*;
    10 class MostSpecific07 {
    12     interface Predicate<X, Y> {
    13         Y accept(X x);
    14     }
    16     interface VoidMapper {
    17         void accept();
    18     }
    20     interface ExtPredicate<X, Y> extends Predicate<X, Y> { }
    22     void test(boolean cond, ArrayList<String> als, VoidMapper vm) {
    23         m(u -> ()->{}, als, als, vm);
    24         m((u -> ()->{}), als, als, vm);
    25         m(cond ? u -> ()->{} : u -> ()->{}, als, als, vm);
    26     }
    28     <U, V> U m(Predicate<U, V> p, List<U> lu, ArrayList<U> au, V v) { return null; }
    30     <U, V> U m(ExtPredicate<U, V> ep, ArrayList<U> au, List<U> lu, V v) { return null; }
    31 }

mercurial