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