Skip to content

Commit 2235db0

Browse files
committed
Maximize removedTypeVar
1 parent 71598c6 commit 2235db0

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

compiler/src/dotty/tools/dotc/transform/patmat/Space.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,8 @@ class SpaceEngine(implicit ctx: Context) extends SpaceLogic {
689689
tvar =>
690690
!(ctx.typerState.constraint.entry(tvar.origin) `eq` tvar.origin.underlying) ||
691691
(tvar `eq` removeThisType.prefixTVar),
692-
minimizeAll = false
692+
minimizeAll = false,
693+
maximizeAll = true
693694
)
694695

695696
// If parent contains a reference to an abstract type, then we should

compiler/src/dotty/tools/dotc/typer/Inferencing.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ object Inferencing {
114114
else {
115115
val minimize =
116116
force.minimizeAll ||
117-
variance >= 0 && !(
117+
!force.maximizeAll && variance >= 0 && !(
118118
force == ForceDegree.noBottom &&
119119
defn.isBottomType(ctx.typeComparer.approximation(tvar.origin, fromBelow = true)))
120120
if (minimize) instantiate(tvar, fromBelow = true)
@@ -466,9 +466,9 @@ trait Inferencing { this: Typer =>
466466

467467
/** An enumeration controlling the degree of forcing in "is-dully-defined" checks. */
468468
@sharable object ForceDegree {
469-
class Value(val appliesTo: TypeVar => Boolean, val minimizeAll: Boolean)
470-
val none = new Value(_ => false, minimizeAll = false)
471-
val all = new Value(_ => true, minimizeAll = false)
472-
val noBottom = new Value(_ => true, minimizeAll = false)
469+
class Value(val appliesTo: TypeVar => Boolean, val minimizeAll: Boolean, val maximizeAll: Boolean = false)
470+
val none = new Value(_ => false, minimizeAll = false, maximizeAll = false)
471+
val all = new Value(_ => true, minimizeAll = false, maximizeAll = false)
472+
val noBottom = new Value(_ => true, minimizeAll = false, maximizeAll = false)
473473
}
474474

0 commit comments

Comments
 (0)