From 6de06305893eb1fc5d14d6058f239f7854bb6d54 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 14 Jul 2016 22:58:29 +0200 Subject: Fix erasure of Java Array[T] Should be erased to Object[], not Object. --- src/dotty/tools/dotc/core/TypeErasure.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/dotty/tools/dotc') 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)) } -- cgit v1.2.3