We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 5344b06 commit e7838acCopy full SHA for e7838ac
compiler/src/dotty/tools/dotc/transform/TypeTestsCasts.scala
@@ -153,9 +153,11 @@ object TypeTestsCasts {
153
val xs = xSpace.decompose.map(_.tp)
154
xs.forall(x => isCheckDefinitelyFalse(x, p))
155
else
156
- if x.typeSymbol.isClass && p.typeSymbol.isClass then
157
- val xClass = effectiveClass(x.widen)
158
- val pClass = effectiveClass(p.widen)
+ val xWiden = x.widen
+ val pWiden = p.widen
+ if xWiden.typeSymbol.isClass && pWiden.typeSymbol.isClass then
159
+ val xClass = effectiveClass(xWiden)
160
+ val pClass = effectiveClass(pWiden)
161
162
!xClass.derivesFrom(pClass)
163
&& (xClass.is(Final) || pClass.is(Final) || !xClass.is(Trait) && !pClass.is(Trait))
0 commit comments