diff options
-rw-r--r-- | src/dotty/tools/dotc/core/TypeErasure.scala | 2 | ||||
-rw-r--r-- | tests/run/i1387.scala | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/TypeErasure.scala b/src/dotty/tools/dotc/core/TypeErasure.scala index 39d02e069..0894f34b2 100644 --- a/src/dotty/tools/dotc/core/TypeErasure.scala +++ b/src/dotty/tools/dotc/core/TypeErasure.scala @@ -389,7 +389,7 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean def arrayErasure(tpToErase: Type) = erasureFn(isJava, semiEraseVCs = false, isConstructor, wildcardOK)(tpToErase) if (elemtp derivesFrom defn.NullClass) JavaArrayType(defn.ObjectType) - else if (isUnboundedGeneric(elemtp)) defn.ObjectType + else if (isUnboundedGeneric(elemtp) && !isJava) defn.ObjectType else JavaArrayType(arrayErasure(elemtp)) } diff --git a/tests/run/i1387.scala b/tests/run/i1387.scala new file mode 100644 index 000000000..fe6b3756e --- /dev/null +++ b/tests/run/i1387.scala @@ -0,0 +1,6 @@ +object Test { + + def main(args: Array[String]): Unit = + classOf[java.nio.file.AccessMode].getEnumConstants + +} |