@@ -187,7 +187,7 @@ class CheckCaptures extends Recheck, SymTransformer:
187187 capt.println(i " solving $t" )
188188 refs.solve()
189189 traverse(parent)
190- case t @ RefinedType (_, nme.apply, rinfo) if defn.isFunctionType(t ) =>
190+ case t @ defn.RefinedFunctionOf (rinfo ) =>
191191 traverse(rinfo)
192192 case tp : TypeVar =>
193193 case tp : TypeRef =>
@@ -769,7 +769,7 @@ class CheckCaptures extends Recheck, SymTransformer:
769769 case actual @ AppliedType (tycon, args) if defn.isNonRefinedFunction(actual) =>
770770 adaptFun(actual, args.init, args.last, expected, covariant, insertBox,
771771 (aargs1, ares1) => actual.derivedAppliedType(tycon, aargs1 :+ ares1))
772- case actual @ RefinedType (_, _, rinfo : MethodType ) if defn.isFunctionType(actual ) =>
772+ case actual @ defn. RefinedFunctionOf ( rinfo : MethodType ) =>
773773 // TODO Find a way to combine handling of generic and dependent function types (here and elsewhere)
774774 adaptFun(actual, rinfo.paramInfos, rinfo.resType, expected, covariant, insertBox,
775775 (aargs1, ares1) =>
@@ -779,11 +779,11 @@ class CheckCaptures extends Recheck, SymTransformer:
779779 adaptFun(actual, actual.paramInfos, actual.resType, expected, covariant, insertBox,
780780 (aargs1, ares1) =>
781781 actual.derivedLambdaType(paramInfos = aargs1, resType = ares1))
782- case actual @ RefinedType (p, nme, rinfo : PolyType ) if defn.isFunctionType(actual ) =>
782+ case actual @ defn. RefinedFunctionOf ( rinfo : PolyType ) =>
783783 adaptTypeFun(actual, rinfo.resType, expected, covariant, insertBox,
784784 ares1 =>
785785 val rinfo1 = rinfo.derivedLambdaType(rinfo.paramNames, rinfo.paramInfos, ares1)
786- val actual1 = actual.derivedRefinedType(p, nme , rinfo1)
786+ val actual1 = actual.derivedRefinedType(actual.parent, actual.refinedName , rinfo1)
787787 actual1
788788 )
789789 case _ =>
@@ -996,7 +996,7 @@ class CheckCaptures extends Recheck, SymTransformer:
996996 case CapturingType (parent, refs) =>
997997 healCaptureSet(refs)
998998 traverse(parent)
999- case tp @ RefinedType (parent, rname, rinfo : MethodType ) if defn.isFunctionType(tp ) =>
999+ case defn. RefinedFunctionOf ( rinfo : MethodType ) =>
10001000 traverse(rinfo)
10011001 case tp : TermLambda =>
10021002 val saved = allowed
0 commit comments