1/* 2 * @test /nodynamiccopyright/ 3 * @bug 8016081 8016178 8069545 8078024 4 * @summary structural most specific and stuckness 5 * @compile/fail/ref=T8016177g.out -XDrawDiagnostics T8016177g.java 6 */ 7 8 9class Test { 10 11 interface Function<X, Y> { 12 Y m(X x); 13 } 14 15 interface Box<T> { 16 T get(); 17 <R> R map(Function<T,R> f); 18 } 19 20 static class Person { 21 Person(String name) { } 22 } 23 24 void print(Object arg) { } 25 void print(String arg) { } 26 27 int abs(int a) { return 0; } 28 long abs(long a) { return 0; } 29 float abs(float a) { return 0; } 30 double abs(double a) { return 0; } 31 32 void test() { 33 Box<String> b = null; 34 print(b.map(s -> new Person(s))); 35 int i = abs(b.map(s -> Double.valueOf(s))); 36 } 37} 38