Skip to content

Commit 1f839bb

Browse files
committed
Try to handle SkolemTypes in SingletonTypeTree during pickling
1 parent 797bbb7 commit 1f839bb

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
@@ -716,8 +716,13 @@ class TreePickler(pickler: TastyPickler, attributes: Attributes) {
716716
if passesConditionForErroringBestEffortCode(tree.hasType) then pickleType(tree.tpe)
717717
else pickleErrorType()
718718
case SingletonTypeTree(ref) =>
719-
writeByte(SINGLETONtpt)
720-
pickleTree(ref)
719+
val tp = ref.tpe
720+
val tp1 = tp.deskolemized
721+
if tp1 ne tp then
722+
pickleType(tp1)
723+
else
724+
writeByte(SINGLETONtpt)
725+
pickleTree(ref)
721726
case RefinedTypeTree(parent, refinements) =>
722727
if (refinements.isEmpty) pickleTree(parent)
723728
else {

0 commit comments

Comments
 (0)