From 6b73ae0ec7a2e4f7a68616df3b8cb5fbb883ec52 Mon Sep 17 00:00:00 2001 From: peng Date: Tue, 21 Nov 2023 13:46:10 -0500 Subject: [PATCH] dealias_normal moved to TypeView --- .../splain/SplainFormattingExtension.scala | 15 +-------------- .../latest/splain/TyperCompatViews.scala | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/core/src/main/scala-2.13.7+/latest/splain/SplainFormattingExtension.scala b/core/src/main/scala-2.13.7+/latest/splain/SplainFormattingExtension.scala index 3e81db6..b563c36 100644 --- a/core/src/main/scala-2.13.7+/latest/splain/SplainFormattingExtension.scala +++ b/core/src/main/scala-2.13.7+/latest/splain/SplainFormattingExtension.scala @@ -393,20 +393,7 @@ trait SplainFormattingExtension extends typechecker.splain.SplainFormatting with // new implementation is idempotent and won't lose information override def dealias(tpe: Type): Type = { - if (isAux(tpe)) tpe - else { - val result = tpe.dealias.normalize - result match { - case p: PolyType => - val target = dealias(p.resultType) - val _p = p.copy( - resultType = target - ) - _p - case _ => - result - } - } + TypeView(tpe).dealias_normal } case class FormattedIndex( diff --git a/core/src/main/scala-2.13.7+/latest/splain/TyperCompatViews.scala b/core/src/main/scala-2.13.7+/latest/splain/TyperCompatViews.scala index cc7705f..82508e9 100644 --- a/core/src/main/scala-2.13.7+/latest/splain/TyperCompatViews.scala +++ b/core/src/main/scala-2.13.7+/latest/splain/TyperCompatViews.scala @@ -20,6 +20,24 @@ trait TyperCompatViews { self } + lazy val dealias_normal: Type = { + + if (isAux(self)) self + else { + val result = self.dealias.normalize + result match { + case p: PolyType => + val target = TypeView(p.resultType).dealias_normal + val _p = p.copy( + resultType = target + ) + _p + case _ => + result + } + } + } + lazy val definingSymbol: Symbol = { self match {