-
Bug
-
Resolution: Fixed
-
P4
-
repo-valhalla
-
generic
-
generic
The following code does not compile: (reported by Sergey Kuksenko)
public class X {
public value class Value<T> {
T t = null;
void foo() {
Value<T>[] v = (Value<T>[]) new Value[1024];
}
}
}
A similar problem was also reported by Remi with this construct:
This code doesn't compile anymore:
public class Regression {
static value class Entry<E> {
private final int value;
public Entry(int value) {
this.value = value;
}
public static <E> Entry<E>[] of() {
return (Entry<E>[])new Entry<?>[0];
}
}
public static void main(String[] args) {
var entry = Entry.of();
}
}
public class X {
public value class Value<T> {
T t = null;
void foo() {
Value<T>[] v = (Value<T>[]) new Value[1024];
}
}
}
A similar problem was also reported by Remi with this construct:
This code doesn't compile anymore:
public class Regression {
static value class Entry<E> {
private final int value;
public Entry(int value) {
this.value = value;
}
public static <E> Entry<E>[] of() {
return (Entry<E>[])new Entry<?>[0];
}
}
public static void main(String[] args) {
var entry = Entry.of();
}
}