File tree 1 file changed +6
-1
lines changed
compiler/src/dotty/tools/dotc/typer
1 file changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -3532,7 +3532,12 @@ class Typer extends Namer
3532
3532
adaptToSubType(wtp)
3533
3533
case CompareResult .OKwithGADTUsed
3534
3534
if pt.isValueType
3535
- && ! inContext(ctx.fresh.setGadt(EmptyGadtConstraint )) { tree.tpe.widenExpr frozen_<:< pt } =>
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)
3540
+ } =>
3536
3541
// Insert an explicit cast, so that -Ycheck in later phases succeeds.
3537
3542
// I suspect, but am not 100% sure that this might affect inferred types,
3538
3543
// if the expected type is a supertype of the GADT bound. It would be good to come
You can’t perform that action at this time.
0 commit comments