Neg01.java revision 542:97b6fa97b8dd
1283514Sarybchik/*
2283514Sarybchik * @test /nodynamiccopyright/
3283514Sarybchik * @bug 6939620
4283514Sarybchik *
5283514Sarybchik * @summary  Switch to 'complex' diamond inference scheme
6283514Sarybchik * @author mcimadamore
7283514Sarybchik * @compile/fail/ref=Neg01.out Neg01.java -XDrawDiagnostics
8283514Sarybchik *
9283514Sarybchik */
10283514Sarybchik
11283514Sarybchikclass Neg01<X extends Number> {
12283514Sarybchik
13283514Sarybchik    Neg01(X x) {}
14283514Sarybchik
15283514Sarybchik    <Z> Neg01(X x, Z z) {}
16283514Sarybchik
17283514Sarybchik    void test() {
18283514Sarybchik        Neg01<String> n1 = new Neg01<>("");
19283514Sarybchik        Neg01<? extends String> n2 = new Neg01<>("");
20283514Sarybchik        Neg01<?> n3 = new Neg01<>("");
21283514Sarybchik        Neg01<? super String> n4 = new Neg01<>("");
22283514Sarybchik
23283514Sarybchik        Neg01<String> n5 = new Neg01<>(""){};
24283514Sarybchik        Neg01<? extends String> n6 = new Neg01<>(""){};
25283514Sarybchik        Neg01<?> n7 = new Neg01<>(""){};
26283514Sarybchik        Neg01<? super String> n8 = new Neg01<>(""){};
27283514Sarybchik
28283514Sarybchik        Neg01<String> n9 = new Neg01<>("", "");
29283514Sarybchik        Neg01<? extends String> n10 = new Neg01<>("", "");
30283514Sarybchik        Neg01<?> n11 = new Neg01<>("", "");
31283514Sarybchik        Foo<? super String> n12 = new Neg01<>("", "");
32283514Sarybchik
33283514Sarybchik        Neg01<String> n13 = new Neg01<>("", ""){};
34283514Sarybchik        Neg01<? extends String> n14 = new Neg01<>("", ""){};
35283514Sarybchik        Neg01<?> n15 = new Neg01<>("", ""){};
36283514Sarybchik        Neg01<? super String> n16 = new Neg01<>("", ""){};
37283514Sarybchik    }
38283514Sarybchik}
39283514Sarybchik