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