diff -r 000000000000 -r 959103a6100f test/tools/javac/lambda/MethodReference42.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/lambda/MethodReference42.java Wed Apr 27 01:34:52 2016 +0800 @@ -0,0 +1,43 @@ +/* + * @test /nodynamiccopyright/ + * @bug 8003280 + * @summary Add lambda tests + * check that diamond inference is applied when using raw constructor reference qualifier + * @compile/fail/ref=MethodReference42.out -XDrawDiagnostics MethodReference42.java + */ + +public class MethodReference42 { + + static class SuperFoo { } + + static class Foo extends SuperFoo { } + + interface SAM1 { + SuperFoo m(); + } + + interface SAM2 { + SuperFoo m(); + } + + interface SAM3 { + SuperFoo m(); + } + + static void m1(SAM1 s) { } + + static void m2(SAM2 s) { } + + static void m3(SAM3 s) { } + + static void m4(SAM1 s) { } + static void m4(SAM2 s) { } + static void m4(SAM3 s) { } + + public static void main(String[] args) { + m1(Foo::new); + m2(Foo::new); + m3(Foo::new); + m4(Foo::new); + } +}