aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dotty/tools/dotc/core/TypeErasure.scala2
-rw-r--r--tests/run/i1387.scala6
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
+
+}