Skip to content

Commit 879ebde

Browse files
committed
Refine code
1 parent 5344b06 commit 879ebde

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

compiler/src/dotty/tools/dotc/transform/TypeTestsCasts.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,12 @@ object TypeTestsCasts {
134134

135135
/** Whether the check X.isInstanceOf[P] is definitely false? */
136136
def isCheckDefinitelyFalse(X: Type, P: Type)(using Context): Boolean = trace(s"isCheckDefinitelyFalse(${X.show}, ${P.show})") {
137-
X.dealias match
137+
X.widenDealias match
138138
case AndType(x1, x2) =>
139139
isCheckDefinitelyFalse(x1, P) || isCheckDefinitelyFalse(x2, P)
140140

141141
case x =>
142-
P.dealias match
142+
P.widenDealias match
143143
case AndType(p1, p2) =>
144144
isCheckDefinitelyFalse(x, p1) || isCheckDefinitelyFalse(x, p2)
145145

@@ -154,8 +154,8 @@ object TypeTestsCasts {
154154
xs.forall(x => isCheckDefinitelyFalse(x, p))
155155
else
156156
if x.typeSymbol.isClass && p.typeSymbol.isClass then
157-
val xClass = effectiveClass(x.widen)
158-
val pClass = effectiveClass(p.widen)
157+
val xClass = effectiveClass(x)
158+
val pClass = effectiveClass(p)
159159

160160
!xClass.derivesFrom(pClass)
161161
&& (xClass.is(Final) || pClass.is(Final) || !xClass.is(Trait) && !pClass.is(Trait))

0 commit comments

Comments
 (0)