|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8016081 8016178 |
|
4 * @summary structural most specific and stuckness |
|
5 * @compile/fail/ref=T8016177g.out -XDrawDiagnostics T8016177g.java |
|
6 */ |
|
7 |
|
8 |
|
9 class 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 } |