view test/tools/javac/lambda/MethodReference68.java @ 4081:cd6eb36db1bb jdk8u292-b05

8078024: javac, several incorporation steps are silently failing when an error should be reported Reviewed-by: phh, andrew
author peterz
date Wed, 22 Apr 2015 09:44:15 -0700
parents 866c87c01285
children
line wrap: on
line source

/*
 * @test /nodynamiccopyright/
 * @bug 8016175 8078024
 * @summary Add bottom-up type-checking support for unambiguous method references
 * @compile/fail/ref=MethodReference68.out -XDrawDiagnostics MethodReference68.java
 */
class MethodReference68 {
    interface F<X> {
       String m(X x);
    }

    static class Foo {
        String getName() { return ""; }
    }

    @SuppressWarnings("unchecked")
    <Z> void g(F<Z> fz, Z... zs) { }

    void test() {
         g(Foo::getName);
         g(Foo::getName, 1); //incompatible constraints, Z <: Foo, Z :> Integer
    }
}