1.1 --- a/test/tools/javac/generics/diamond/neg/Neg03.java Mon Mar 07 14:11:48 2011 +0000 1.2 +++ b/test/tools/javac/generics/diamond/neg/Neg03.java Mon Mar 07 14:31:50 2011 +0000 1.3 @@ -1,8 +1,9 @@ 1.4 /* 1.5 * @test /nodynamiccopyright/ 1.6 - * @bug 6939620 1.7 + * @bug 6939620 7020044 1.8 * 1.9 - * @summary Switch to 'complex' diamond inference scheme 1.10 + * @summary Check that diamond fails when inference violates declared bounds 1.11 + * (test with inner class, qualified/simple type expressions) 1.12 * @author mcimadamore 1.13 * @compile/fail/ref=Neg03.out Neg03.java -XDrawDiagnostics 1.14 * 1.15 @@ -21,20 +22,10 @@ 1.16 Foo<?> f3 = new Foo<>(""); 1.17 Foo<? super String> f4 = new Foo<>(""); 1.18 1.19 - Foo<String> f5 = new Foo<>(""){}; 1.20 - Foo<? extends String> f6 = new Foo<>(""){}; 1.21 - Foo<?> f7 = new Foo<>(""){}; 1.22 - Foo<? super String> f8 = new Foo<>(""){}; 1.23 - 1.24 - Foo<String> f9 = new Foo<>("", ""); 1.25 - Foo<? extends String> f10 = new Foo<>("", ""); 1.26 - Foo<?> f11 = new Foo<>("", ""); 1.27 - Foo<? super String> f12 = new Foo<>("", ""); 1.28 - 1.29 - Foo<String> f13 = new Foo<>("", ""){}; 1.30 - Foo<? extends String> f14 = new Foo<>("", ""){}; 1.31 - Foo<?> f15 = new Foo<>("", ""){}; 1.32 - Foo<? super String> f16 = new Foo<>("", ""){}; 1.33 + Foo<String> f5 = new Foo<>("", ""); 1.34 + Foo<? extends String> f6 = new Foo<>("", ""); 1.35 + Foo<?> f7 = new Foo<>("", ""); 1.36 + Foo<? super String> f8 = new Foo<>("", ""); 1.37 } 1.38 1.39 void testQualified_1() { 1.40 @@ -43,20 +34,10 @@ 1.41 Foo<?> f3 = new Neg03<U>.Foo<>(""); 1.42 Foo<? super String> f4 = new Neg03<U>.Foo<>(""); 1.43 1.44 - Foo<String> f5 = new Neg03<U>.Foo<>(""){}; 1.45 - Foo<? extends String> f6 = new Neg03<U>.Foo<>(""){}; 1.46 - Foo<?> f7 = new Neg03<U>.Foo<>(""){}; 1.47 - Foo<? super String> f8 = new Neg03<U>.Foo<>(""){}; 1.48 - 1.49 - Foo<String> f9 = new Neg03<U>.Foo<>("", ""); 1.50 - Foo<? extends String> f10 = new Neg03<U>.Foo<>("", ""); 1.51 - Foo<?> f11 = new Neg03<U>.Foo<>("", ""); 1.52 - Foo<? super String> f12 = new Neg03<U>.Foo<>("", ""); 1.53 - 1.54 - Foo<String> f13 = new Neg03<U>.Foo<>("", ""){}; 1.55 - Foo<? extends String> f14 = new Neg03<U>.Foo<>("", ""){}; 1.56 - Foo<?> f15 = new Neg03<U>.Foo<>("", ""){}; 1.57 - Foo<? super String> f16 = new Neg03<U>.Foo<>("", ""){}; 1.58 + Foo<String> f5 = new Neg03<U>.Foo<>("", ""); 1.59 + Foo<? extends String> f6 = new Neg03<U>.Foo<>("", ""); 1.60 + Foo<?> f7 = new Neg03<U>.Foo<>("", ""); 1.61 + Foo<? super String> f8 = new Neg03<U>.Foo<>("", ""); 1.62 } 1.63 1.64 void testQualified_2(Neg03<U> n) { 1.65 @@ -65,19 +46,9 @@ 1.66 Foo<?> f3 = n.new Foo<>(""); 1.67 Foo<? super String> f4 = n.new Foo<>(""); 1.68 1.69 - Foo<String> f5 = n.new Foo<>(""){}; 1.70 - Foo<? extends String> f6 = n.new Foo<>(""){}; 1.71 - Foo<?> f7 = n.new Foo<>(""){}; 1.72 - Foo<? super String> f8 = n.new Foo<>(""){}; 1.73 - 1.74 - Foo<String> f9 = n.new Foo<>("", ""); 1.75 - Foo<? extends String> f10 = n.new Foo<>("", ""); 1.76 - Foo<?> f11 = n.new Foo<>("", ""); 1.77 - Foo<? super String> f12 = n.new Foo<>("", ""); 1.78 - 1.79 - Foo<String> f13 = n.new Foo<>("", ""){}; 1.80 - Foo<? extends String> f14 = n.new Foo<>("", ""){}; 1.81 - Foo<?> f15 = n.new Foo<>("", ""){}; 1.82 - Foo<? super String> f16 = n.new Foo<>("", ""){}; 1.83 + Foo<String> f5 = n.new Foo<>("", ""); 1.84 + Foo<? extends String> f6 = n.new Foo<>("", ""); 1.85 + Foo<?> f7 = n.new Foo<>("", ""); 1.86 + Foo<? super String> f8 = n.new Foo<>("", ""); 1.87 } 1.88 }