/* * @test /nodynamiccopyright/ * @bug 8016081 8016178 8069545 8078024 * @summary structural most specific and stuckness * @compile/fail/ref=T8016177g.out -XDrawDiagnostics T8016177g.java */ class Test { interface Function<X, Y> { Y m(X x); } interface Box<T> { T get(); <R> R map(Function<T,R> f); } static class Person { Person(String name) { } } void print(Object arg) { } void print(String arg) { } int abs(int a) { return 0; } long abs(long a) { return 0; } float abs(float a) { return 0; } double abs(double a) { return 0; } void test() { Box<String> b = null; print(b.map(s -> new Person(s))); int i = abs(b.map(s -> Double.valueOf(s))); } }