test/tools/javac/lambda/8016177/T8016177g.java

Wed, 24 Sep 2014 11:38:26 -0700

author
katleman
date
Wed, 24 Sep 2014 11:38:26 -0700
changeset 2562
ed1a48bedfa8
parent 0
959103a6100f
child 2730
a513711d6171
permissions
-rw-r--r--

Added tag jdk8u40-b07 for changeset 2fa3858a281f

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8016081 8016178
     4  * @summary structural most specific and stuckness
     5  * @compile/fail/ref=T8016177g.out -XDrawDiagnostics T8016177g.java
     6  */
     9 class Test {
    11     interface Function<X, Y> {
    12         Y m(X x);
    13     }
    15     interface Box<T> {
    16         T get();
    17         <R> R map(Function<T,R> f);
    18     }
    20     static class Person {
    21         Person(String name) { }
    22     }
    24     void print(Object arg) { }
    25     void print(String arg) { }
    27     int abs(int a) { return 0; }
    28     long abs(long a) { return 0; }
    29     float abs(float a) { return 0; }
    30     double abs(double a) { return 0; }
    32     void test() {
    33         Box<String> b = null;
    34         print(b.map(s -> new Person(s)));
    35         int i = abs(b.map(s -> Double.valueOf(s)));
    36     }
    37 }

mercurial