diff options
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/UnPickler.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/UnPickler.scala | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala index dfb6be7d6..b036a8170 100644 --- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala +++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala @@ -36,8 +36,9 @@ object UnPickler { */ def arrayToRepeated(tp: Type)(implicit ctx: Context): Type = tp match { case tp @ MethodType(paramNames, paramTypes) => - val (tycon, elemtp0 :: Nil) = paramTypes.last.splitArgs - assert(tycon.typeSymbol == defn.ArrayClass, tp) + val lastArg = paramTypes.last + assert(lastArg.typeSymbol == defn.ArrayClass) + val elemtp0 :: Nil = lastArg.typeArgs val elemtp = elemtp0 match { case AndType(t1, t2) if t1.typeSymbol.isAbstractType && t2.typeSymbol == defn.ObjectClass => t1 // drop intersection with Object for abstract types in varargs. UnCurry can handle them. |