@@ -358,8 +358,7 @@ class TypeComparer(initctx: Context) extends DotClass with ConstraintHandling {
358
358
def compareMethod = tp1 match {
359
359
case tp1 @ MethodType (_, formals1) =>
360
360
(tp1.signature sameParams tp2.signature) &&
361
- (if (Config .newMatch) subsumeParams(formals1, formals2, tp1.isJava, tp2.isJava)
362
- else matchingParams(formals1, formals2, tp1.isJava, tp2.isJava)) &&
361
+ matchingParams(formals1, formals2, tp1.isJava, tp2.isJava) &&
363
362
tp1.isImplicit == tp2.isImplicit && // needed?
364
363
isSubType(tp1.resultType, tp2.resultType.subst(tp2, tp1))
365
364
case _ =>
@@ -708,21 +707,6 @@ class TypeComparer(initctx: Context) extends DotClass with ConstraintHandling {
708
707
formals2.isEmpty
709
708
}
710
709
711
- private def subsumeParams (formals1 : List [Type ], formals2 : List [Type ], isJava1 : Boolean , isJava2 : Boolean ): Boolean = formals1 match {
712
- case formal1 :: rest1 =>
713
- formals2 match {
714
- case formal2 :: rest2 =>
715
- (isSubType(formal2, formal1)
716
- || isJava1 && (formal2 isRef ObjectClass ) && (formal1 isRef AnyClass )
717
- || isJava2 && (formal1 isRef ObjectClass ) && (formal2 isRef AnyClass )) &&
718
- subsumeParams(rest1, rest2, isJava1, isJava2)
719
- case nil =>
720
- false
721
- }
722
- case nil =>
723
- formals2.isEmpty
724
- }
725
-
726
710
/** Do poly types `poly1` and `poly2` have type parameters that
727
711
* have the same bounds (after renaming one set to the other)?
728
712
*/
@@ -951,13 +935,6 @@ class TypeComparer(initctx: Context) extends DotClass with ConstraintHandling {
951
935
case tp1 @ MethodType (names1, formals1) =>
952
936
tp2 match {
953
937
case tp2 @ MethodType (names2, formals2)
954
- if Config .newMatch && tp1.signature.sameParams(tp2.signature) &&
955
- tp1.isImplicit == tp2.isImplicit =>
956
- tp1.derivedMethodType(
957
- mergeNames(names1, names2, nme.syntheticParamName),
958
- (formals1 zipWithConserve formals2)(_ | _),
959
- tp1.resultType & tp2.resultType.subst(tp2, tp1))
960
- case tp2 @ MethodType (names2, formals2)
961
938
if matchingParams(formals1, formals2, tp1.isJava, tp2.isJava) &&
962
939
tp1.isImplicit == tp2.isImplicit =>
963
940
tp1.derivedMethodType(
@@ -1017,13 +994,6 @@ class TypeComparer(initctx: Context) extends DotClass with ConstraintHandling {
1017
994
case tp1 @ MethodType (names1, formals1) =>
1018
995
tp2 match {
1019
996
case tp2 @ MethodType (names2, formals2)
1020
- if Config .newMatch && tp1.signature.sameParams(tp2.signature) &&
1021
- tp1.isImplicit == tp2.isImplicit =>
1022
- tp1.derivedMethodType(
1023
- mergeNames(names1, names2, nme.syntheticParamName),
1024
- (formals1 zipWithConserve formals2)(_ & _),
1025
- tp1.resultType | tp2.resultType.subst(tp2, tp1))
1026
- case tp2 @ MethodType (names2, formals2)
1027
997
if matchingParams(formals1, formals2, tp1.isJava, tp2.isJava) &&
1028
998
tp1.isImplicit == tp2.isImplicit =>
1029
999
tp1.derivedMethodType(
0 commit comments