3789983e89
Reviewed-by: darcy, ihse
64 lines
1.5 KiB
Java
64 lines
1.5 KiB
Java
/*
|
|
* @test /nodynamiccopyright/
|
|
* @bug 8003280
|
|
* @summary Add lambda tests
|
|
* check correctness of structural most specific test routine
|
|
* @compile/fail/ref=MostSpecific03.out -XDrawDiagnostics MostSpecific03.java
|
|
*/
|
|
|
|
class Test {
|
|
|
|
interface IntMapper {
|
|
int map();
|
|
}
|
|
|
|
interface LongMapper {
|
|
long map();
|
|
}
|
|
|
|
void m(IntMapper... im) { }
|
|
void m(LongMapper... lm) { }
|
|
|
|
void m2(IntMapper im1, IntMapper... im) { }
|
|
void m2(LongMapper... lm) { }
|
|
|
|
void test1() {
|
|
m(); //ambiguous
|
|
m(()->1); //ok
|
|
m(()->1, ()->1); //ok
|
|
m(()->1, ()->1, ()->1); //ok
|
|
}
|
|
|
|
void test2() {
|
|
m(null, null); //ambiguous
|
|
m(()->1, null); //ambiguous
|
|
m(null, ()->1); //ambiguous
|
|
m(()->1L, null); //ok
|
|
m(null, ()->1L); //ok
|
|
}
|
|
|
|
void test3() {
|
|
m2(); //ok
|
|
m2(()->1); //ambiguous
|
|
m2(()->1, ()->1); //ok
|
|
m2(()->1, ()->1, ()->1); //ok
|
|
}
|
|
|
|
void test4() {
|
|
m2(null, null, null); //ambiguous
|
|
m2(()->1, null, null); //ambiguous
|
|
m2(null, ()->1, null); //ambiguous
|
|
m2(null, null, ()->1); //ambiguous
|
|
m2(()->1, ()->1, null); //ambiguous
|
|
m2(null, ()->1, ()->1); //ambiguous
|
|
m2(()->1, null, ()->1); //ambiguous
|
|
|
|
m2(()->1L, null, null); //ok
|
|
m2(null, ()->1L, null); //ok
|
|
m2(null, null, ()->1L); //ok
|
|
m2(()->1L, ()->1L, null); //ok
|
|
m2(null, ()->1L, ()->1L); //ok
|
|
m2(()->1L, null, ()->1L); //ok
|
|
}
|
|
}
|