blob: 526f84626f59e942aef35496b36c797b3970a19f [file] [log] [blame]
/*
* @test /nodynamiccopyright/
* @bug 8062373
*
* @summary Test diamond + anonymous classes with non-denotable types
* @author mcimadamore
* @compile/fail/ref=Neg12.out Neg12.java -XDrawDiagnostics
*
*/
class Neg12 {
static class Foo<X> {
Foo(X x) { }
}
static class DoubleFoo<X,Y> {
DoubleFoo(X x,Y y) { }
}
static class TripleFoo<X,Y,Z> {
TripleFoo(X x,Y y,Z z) { }
}
Foo<? extends Integer> fi = new Foo<>(1);
Foo<?> fw = new Foo<>(fi) {}; // Error.
Foo<?> fw1 = new Foo<>(fi); // OK.
Foo<? extends Double> fd = new Foo<>(3.0);
DoubleFoo<?,?> dw = new DoubleFoo<>(fi,fd) {}; // Error.
DoubleFoo<?,?> dw1 = new DoubleFoo<>(fi,fd); // OK.
Foo<String> fs = new Foo<>("one");
TripleFoo<?,?,?> tw = new TripleFoo<>(fi,fd,fs) {}; // Error.
TripleFoo<?,?,?> tw1 = new TripleFoo<>(fi,fd,fs); // OK.
}