| /* |
| * @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))); |
| } |
| } |