14 Foo(V x) {} |
14 Foo(V x) {} |
15 <Z> Foo(V x, Z z) {} |
15 <Z> Foo(V x, Z z) {} |
16 } |
16 } |
17 |
17 |
18 void testRare_1() { |
18 void testRare_1() { |
19 Neg05<?>.Foo<String> f1 = new Neg05.Foo<>(""); //new Foo<Integer> created |
19 Neg05<?>.Foo<String> f1 = new Neg05.Foo<>(""); |
20 Neg05<?>.Foo<? extends String> f2 = new Neg05.Foo<>(""); //new Foo<Integer> created |
20 Neg05<?>.Foo<? extends String> f2 = new Neg05.Foo<>(""); |
21 Neg05<?>.Foo<?> f3 = new Neg05.Foo<>(""); //new Foo<Object> created |
21 Neg05<?>.Foo<?> f3 = new Neg05.Foo<>(""); |
22 Neg05<?>.Foo<? super String> f4 = new Neg05.Foo<>(""); //new Foo<Object> created |
22 Neg05<?>.Foo<? super String> f4 = new Neg05.Foo<>(""); |
23 |
23 |
24 Neg05<?>.Foo<String> f5 = new Neg05.Foo<>(""){}; //new Foo<Integer> created |
24 Neg05<?>.Foo<String> f5 = new Neg05.Foo<>(""){}; |
25 Neg05<?>.Foo<? extends String> f6 = new Neg05.Foo<>(""){}; //new Foo<Integer> created |
25 Neg05<?>.Foo<? extends String> f6 = new Neg05.Foo<>(""){}; |
26 Neg05<?>.Foo<?> f7 = new Neg05.Foo<>(""){}; //new Foo<Object> created |
26 Neg05<?>.Foo<?> f7 = new Neg05.Foo<>(""){}; |
27 Neg05<?>.Foo<? super String> f8 = new Neg05.Foo<>(""){}; //new Foo<Object> created |
27 Neg05<?>.Foo<? super String> f8 = new Neg05.Foo<>(""){}; |
28 |
28 |
29 Neg05<?>.Foo<String> f9 = new Neg05.Foo<>("", ""); //new Foo<Integer> created |
29 Neg05<?>.Foo<String> f9 = new Neg05.Foo<>("", ""); |
30 Neg05<?>.Foo<? extends String> f10 = new Neg05.Foo<>("", ""); //new Foo<Integer> created |
30 Neg05<?>.Foo<? extends String> f10 = new Neg05.Foo<>("", ""); |
31 Neg05<?>.Foo<?> f11 = new Neg05.Foo<>("", ""); //new Foo<Object> created |
31 Neg05<?>.Foo<?> f11 = new Neg05.Foo<>("", ""); |
32 Neg05<?>.Foo<? super String> f12 = new Neg05.Foo<>("", ""); //new Foo<Object> created |
32 Neg05<?>.Foo<? super String> f12 = new Neg05.Foo<>("", ""); |
33 |
33 |
34 Neg05<?>.Foo<String> f13 = new Neg05.Foo<>("", ""){}; //new Foo<Integer> created |
34 Neg05<?>.Foo<String> f13 = new Neg05.Foo<>("", ""){}; |
35 Neg05<?>.Foo<? extends String> f14 = new Neg05.Foo<>("", ""){}; //new Foo<Integer> created |
35 Neg05<?>.Foo<? extends String> f14 = new Neg05.Foo<>("", ""){}; |
36 Neg05<?>.Foo<?> f15 = new Neg05.Foo<>("", ""){}; //new Foo<Object> created |
36 Neg05<?>.Foo<?> f15 = new Neg05.Foo<>("", ""){}; |
37 Neg05<?>.Foo<? super String> f16 = new Neg05.Foo<>("", ""){}; //new Foo<Object> created |
37 Neg05<?>.Foo<? super String> f16 = new Neg05.Foo<>("", ""){}; |
38 } |
38 } |
39 |
39 |
40 void testRare_2(Neg05 n) { |
40 void testRare_2(Neg05 n) { |
41 Neg05<?>.Foo<String> f1 = n.new Foo<>(""); //new Foo<Integer> created |
41 Neg05<?>.Foo<String> f1 = n.new Foo<>(""); |
42 Neg05<?>.Foo<? extends String> f2 = n.new Foo<>(""); //new Foo<Integer> created |
42 Neg05<?>.Foo<? extends String> f2 = n.new Foo<>(""); |
43 Neg05<?>.Foo<?> f3 = n.new Foo<>(""); //new Foo<Integer> created |
43 Neg05<?>.Foo<?> f3 = n.new Foo<>(""); |
44 Neg05<?>.Foo<? super String> f4 = n.new Foo<>(""); //new Foo<Integer> created |
44 Neg05<?>.Foo<? super String> f4 = n.new Foo<>(""); |
45 |
45 |
46 Neg05<?>.Foo<String> f5 = n.new Foo<>(""){}; //new Foo<Integer> created |
46 Neg05<?>.Foo<String> f5 = n.new Foo<>(""){}; |
47 Neg05<?>.Foo<? extends String> f6 = n.new Foo<>(""){}; //new Foo<Integer> created |
47 Neg05<?>.Foo<? extends String> f6 = n.new Foo<>(""){}; |
48 Neg05<?>.Foo<?> f7 = n.new Foo<>(""){}; //new Foo<Integer> created |
48 Neg05<?>.Foo<?> f7 = n.new Foo<>(""){}; |
49 Neg05<?>.Foo<? super String> f8 = n.new Foo<>(""){}; //new Foo<Integer> created |
49 Neg05<?>.Foo<? super String> f8 = n.new Foo<>(""){}; |
50 |
50 |
51 Neg05<?>.Foo<String> f9 = n.new Foo<>("", ""); //new Foo<Integer> created |
51 Neg05<?>.Foo<String> f9 = n.new Foo<>("", ""); |
52 Neg05<?>.Foo<? extends String> f10 = n.new Foo<>("", ""); //new Foo<Integer> created |
52 Neg05<?>.Foo<? extends String> f10 = n.new Foo<>("", ""); |
53 Neg05<?>.Foo<?> f11 = n.new Foo<>("", ""); //new Foo<Integer> created |
53 Neg05<?>.Foo<?> f11 = n.new Foo<>("", ""); |
54 Neg05<?>.Foo<? super String> f12 = n.new Foo<>("", ""); //new Foo<Integer> created |
54 Neg05<?>.Foo<? super String> f12 = n.new Foo<>("", ""); |
55 |
55 |
56 Neg05<?>.Foo<String> f13 = n.new Foo<>("", ""){}; //new Foo<Integer> created |
56 Neg05<?>.Foo<String> f13 = n.new Foo<>("", ""){}; |
57 Neg05<?>.Foo<? extends String> f14 = n.new Foo<>("", ""){}; //new Foo<Integer> created |
57 Neg05<?>.Foo<? extends String> f14 = n.new Foo<>("", ""){}; |
58 Neg05<?>.Foo<?> f15 = n.new Foo<>("", ""){}; //new Foo<Integer> created |
58 Neg05<?>.Foo<?> f15 = n.new Foo<>("", ""){}; |
59 Neg05<?>.Foo<? super String> f16 = n.new Foo<>("", ""){}; //new Foo<Integer> created |
59 Neg05<?>.Foo<? super String> f16 = n.new Foo<>("", ""){}; |
60 } |
60 } |
61 } |
61 } |