blob: d55e803cb4a584fc32bd01ebc3f156b8acb51154 [file] [log] [blame]
/*
* @test /nodynamiccopyright/
* @bug 8003280
* @summary Add lambda tests
* check that candidates with cyclic type-inference are removed from the
* set of applicable methods
* @compile/fail/ref=TargetType21.out -XDrawDiagnostics TargetType21.java
*/
class TargetType21 {
interface SAM1 {
String m1(Integer n) throws Exception;
}
interface SAM2 {
void m2(Integer n);
}
interface SAM3<R,A> {
R m3(A n);
}
void call(SAM1 sam) { }
void call(SAM2 sam) { }
<R,A> void call(SAM3<R,A> sam) { }
void test() {
call(x -> { throw new Exception(); }); //ambiguous
call((Integer x) -> { System.out.println(""); }); //ok (only one is void)
call((Integer x) -> { return (Object) null; }); //ok (only one returns Object)
call(x -> { System.out.println(""); }); //ambiguous
call(x -> { return (Object) null; }); //ambiguous
call(x -> { return null; }); //ambiguous
}
}