test/tools/javac/lambda/TargetType50.java

changeset 1415
01c9d4161882
child 1562
2154ed9ff6c8
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/test/tools/javac/lambda/TargetType50.java	Sat Nov 17 19:01:03 2012 +0000
     1.3 @@ -0,0 +1,28 @@
     1.4 +/*
     1.5 + * @test /nodynamiccopyright/
     1.6 + * @bug 8003280
     1.7 + * @summary Add lambda tests
     1.8 + *  bad stuck check for method reference leads to javac crash
     1.9 + * @compile/fail/ref=TargetType50.out -XDrawDiagnostics TargetType50.java
    1.10 + */
    1.11 +import java.util.*;
    1.12 +
    1.13 +class TargetType50 {
    1.14 +
    1.15 +    interface Factory<F> {
    1.16 +        F make();
    1.17 +    }
    1.18 +
    1.19 +    static class Sink<T> {
    1.20 +        static <Z> Sink<Z> make() { return null; }
    1.21 +    }
    1.22 +
    1.23 +    <Y, S extends Sink<Y>> List<Y> m(Factory<S> factory) {  }
    1.24 +
    1.25 +    void test() {
    1.26 +        List<?> l1 = m(Sink::new);
    1.27 +        List<?> l2 = m(Sink::make);
    1.28 +        List<String> l3 = m(Sink::new);
    1.29 +        List<String> l4 = m(Sink::make);
    1.30 +    }
    1.31 +}

mercurial