Skip to content

Commit 545917e

Browse files
noti0na1tgodzik
authored andcommitted
Try to handle SkolemTypes in SingletonTypeTree during pickling
[Cherry-picked 1f839bb]
1 parent fba0da3 commit 545917e

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -630,8 +630,13 @@ class TreePickler(pickler: TastyPickler) {
630630
case tree: TypeTree =>
631631
pickleType(tree.tpe)
632632
case SingletonTypeTree(ref) =>
633-
writeByte(SINGLETONtpt)
634-
pickleTree(ref)
633+
val tp = ref.tpe
634+
val tp1 = tp.deskolemized
635+
if tp1 ne tp then
636+
pickleType(tp1)
637+
else
638+
writeByte(SINGLETONtpt)
639+
pickleTree(ref)
635640
case RefinedTypeTree(parent, refinements) =>
636641
if (refinements.isEmpty) pickleTree(parent)
637642
else {

0 commit comments

Comments
 (0)