diff options
-rw-r--r-- | src/dotty/tools/dotc/core/Types.scala | 2 | ||||
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/UnPickler.scala | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala index 99f76d214..b436a4c11 100644 --- a/src/dotty/tools/dotc/core/Types.scala +++ b/src/dotty/tools/dotc/core/Types.scala @@ -1430,7 +1430,7 @@ object Types { def typeConstructor(implicit ctx: Context): Type = if ((cls is PackageClass) || cls.owner.isTerm) TypeRef(prefix, cls) - else TypeRef(prefix, cls.name) + else TypeRef(prefix, cls.name).withDenot(cls.denot.asSeenFrom(prefix)) // cached because baseType needs parents private var parentsCache: List[TypeRef] = null diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala index 99852477f..f2cd78e35 100644 --- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala +++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala @@ -634,10 +634,8 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot: val tycon = if (isLocal(sym)) { TypeRef( - if ((pre eq NoPrefix) && (sym is TypeParam)) - sym.owner.thisType - else - pre, + if ((pre eq NoPrefix) && (sym is TypeParam)) sym.owner.thisType + else pre, sym.asType) } else TypeRef(pre, sym.name.asTypeName).withDenot(sym) val args = until(end, readTypeRef) |