File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed
compiler/src/dotty/tools/dotc/typer Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -2434,7 +2434,13 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
2434
2434
// wrt to operand order for `&`, we include the explicit subtype test here.
2435
2435
// See also #5649.
2436
2436
then body1.tpe
2437
- else pt & body1.tpe
2437
+ else body1.tpe match
2438
+ case btpe : TypeRef
2439
+ if btpe.symbol == defn.TupleXXLClass && pt.tupleElementTypes.isDefined =>
2440
+ // leave the original tuple type; don't mix with & TupleXXL which would only obscure things
2441
+ pt
2442
+ case _ =>
2443
+ pt & body1.tpe
2438
2444
val sym = newPatternBoundSymbol(name, symTp, tree.span)
2439
2445
if (pt == defn.ImplicitScrutineeTypeRef || tree.mods.is(Given )) sym.setFlag(Given )
2440
2446
if (ctx.mode.is(Mode .InPatternAlternative ))
You can’t perform that action at this time.
0 commit comments