@@ -1607,7 +1607,7 @@ class TypeComparer(@constructorOnly initctx: Context) extends ConstraintHandling
1607
1607
def paramBounds (tparam : Symbol ): TypeBounds =
1608
1608
tparam.info.substApprox(tparams2.asInstanceOf [List [Symbol ]], args2).bounds
1609
1609
1610
- /** Test all arguments. Hard argument tests (according to isHard ) are deferred in
1610
+ /** Test all arguments. Incomplete argument tests (according to isIncomplete ) are deferred in
1611
1611
* the first run and picked up in the second.
1612
1612
*/
1613
1613
def recurArgs (args1 : List [Type ], args2 : List [Type ], tparams2 : List [ParamInfo ],
@@ -1630,8 +1630,8 @@ class TypeComparer(@constructorOnly initctx: Context) extends ConstraintHandling
1630
1630
* comparison will instantiate or constrain type variables first.
1631
1631
*/
1632
1632
def isIncomplete (arg1 : Type , arg2 : Type ): Boolean =
1633
- val arg1d = arg1.stripped
1634
- val arg2d = arg2.stripped
1633
+ val arg1d = arg1.strippedDealias
1634
+ val arg2d = arg2.strippedDealias
1635
1635
(v >= 0 ) && (arg1d.isInstanceOf [AndType ] || arg2d.isInstanceOf [OrType ])
1636
1636
||
1637
1637
(v <= 0 ) && (arg1d.isInstanceOf [OrType ] || arg2d.isInstanceOf [AndType ])
@@ -1726,7 +1726,7 @@ class TypeComparer(@constructorOnly initctx: Context) extends ConstraintHandling
1726
1726
val rest1 = args1.tail
1727
1727
if ! canDefer
1728
1728
|| rest1.isEmpty && deferred1.isEmpty
1729
- // skip the hardness test if this is the last argument and no previous arguments were hard
1729
+ // skip the incompleteness test if this is the last argument and no previous argument tests were incomplete
1730
1730
|| ! isIncomplete(arg1, arg2)
1731
1731
then
1732
1732
isSubArg(arg1, arg2)
0 commit comments