Neg01.java revision 536:9d9d08922405
1148382Spjd/*
2148382Spjd * @test /nodynamiccopyright/
3148382Spjd * @bug 6939620
4148382Spjd *
5148382Spjd * @summary  Switch to 'complex' diamond inference scheme
6148382Spjd * @author mcimadamore
7148382Spjd * @compile/fail/ref=Neg01.out Neg01.java -XDrawDiagnostics
8148382Spjd *
9148382Spjd */
10148382Spjd
11148382Spjdclass Neg01<X extends Number> {
12148382Spjd
13148382Spjd    Neg01(X x) {}
14148382Spjd
15148382Spjd    <Z> Neg01(X x, Z z) {}
16148382Spjd
17148382Spjd    void test() {
18148382Spjd        Neg01<String> n1 = new Neg01<>("");
19148382Spjd        Neg01<? extends String> n2 = new Neg01<>("");
20148382Spjd        Neg01<?> n3 = new Neg01<>("");
21148382Spjd        Neg01<? super String> n4 = new Neg01<>("");
22148382Spjd
23148382Spjd        Neg01<String> n5 = new Neg01<>(""){};
24148382Spjd        Neg01<? extends String> n6 = new Neg01<>(""){};
25148382Spjd        Neg01<?> n7 = new Neg01<>(""){};
26148382Spjd        Neg01<? super String> n8 = new Neg01<>(""){};
27154473Spjd
28154473Spjd        Neg01<String> n9 = new Neg01<>("", "");
29154473Spjd        Neg01<? extends String> n10 = new Neg01<>("", "");
30148382Spjd        Neg01<?> n11 = new Neg01<>("", "");
31148382Spjd        Foo<? super String> n12 = new Neg01<>("", "");
32148382Spjd
33148382Spjd        Neg01<String> n13 = new Neg01<>("", ""){};
34148382Spjd        Neg01<? extends String> n14 = new Neg01<>("", ""){};
35148382Spjd        Neg01<?> n15 = new Neg01<>("", ""){};
36148382Spjd        Neg01<? super String> n16 = new Neg01<>("", ""){};
37148382Spjd    }
38148382Spjd}
39148382Spjd