File tree 1 file changed +5
-4
lines changed
compiler/src/dotty/tools/dotc/typer
1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -3533,10 +3533,11 @@ class Typer extends Namer
3533
3533
case CompareResult .OKwithGADTUsed
3534
3534
if pt.isValueType
3535
3535
&& ! inContext(ctx.fresh.setGadt(EmptyGadtConstraint )) {
3536
- (tree.tpe.widenExpr frozen_<:< pt)
3537
- // we overshot; a cast is not needed, after all. (this happens a lot. We should
3538
- // find out whether we can make GADTused more precise)
3539
- .showing(i " false alarm for $tree: ${tree.tpe.widenExpr} vs $pt in ${ctx.source}" , gadts)
3536
+ val res = (tree.tpe.widenExpr frozen_<:< pt)
3537
+ if res then
3538
+ // we overshot; a cast is not needed, after all.
3539
+ gadts.println(i " unnecessary GADTused for $tree: ${tree.tpe.widenExpr} vs $pt in ${ctx.source}" )
3540
+ res
3540
3541
} =>
3541
3542
// Insert an explicit cast, so that -Ycheck in later phases succeeds.
3542
3543
// I suspect, but am not 100% sure that this might affect inferred types,
You can’t perform that action at this time.
0 commit comments