@@ -195,7 +195,7 @@ class CheckCaptures extends Recheck, SymTransformer:
195
195
capt.println(i " solving $t" )
196
196
refs.solve()
197
197
traverse(parent)
198
- case t @ RefinedType (_, nme.apply, rinfo) if defn.isFunctionType(t ) =>
198
+ case t @ defn.RefinedFunctionOf (rinfo ) =>
199
199
traverse(rinfo)
200
200
case tp : TypeVar =>
201
201
case tp : TypeRef =>
@@ -302,8 +302,8 @@ class CheckCaptures extends Recheck, SymTransformer:
302
302
t
303
303
case _ =>
304
304
val t1 = t match
305
- case t @ RefinedType (parent, rname, rinfo : MethodType ) if defn.isFunctionType(t ) =>
306
- t.derivedRefinedType(parent, rname , this (rinfo))
305
+ case t @ defn. RefinedFunctionOf ( rinfo : MethodType ) =>
306
+ t.derivedRefinedType(t. parent, t.refinedName , this (rinfo))
307
307
case _ =>
308
308
mapOver(t)
309
309
if variance > 0 then t1
@@ -845,7 +845,7 @@ class CheckCaptures extends Recheck, SymTransformer:
845
845
case actual @ AppliedType (tycon, args) if defn.isNonRefinedFunction(actual) =>
846
846
adaptFun(actual, args.init, args.last, expected, covariant, insertBox,
847
847
(aargs1, ares1) => actual.derivedAppliedType(tycon, aargs1 :+ ares1))
848
- case actual @ RefinedType (_, _, rinfo : MethodType ) if defn.isFunctionType(actual ) =>
848
+ case actual @ defn. RefinedFunctionOf ( rinfo : MethodType ) =>
849
849
// TODO Find a way to combine handling of generic and dependent function types (here and elsewhere)
850
850
adaptFun(actual, rinfo.paramInfos, rinfo.resType, expected, covariant, insertBox,
851
851
(aargs1, ares1) =>
@@ -855,11 +855,11 @@ class CheckCaptures extends Recheck, SymTransformer:
855
855
adaptFun(actual, actual.paramInfos, actual.resType, expected, covariant, insertBox,
856
856
(aargs1, ares1) =>
857
857
actual.derivedLambdaType(paramInfos = aargs1, resType = ares1))
858
- case actual @ RefinedType (p, nme, rinfo : PolyType ) if defn.isFunctionType(actual ) =>
858
+ case actual @ defn. RefinedFunctionOf ( rinfo : PolyType ) =>
859
859
adaptTypeFun(actual, rinfo.resType, expected, covariant, insertBox,
860
860
ares1 =>
861
861
val rinfo1 = rinfo.derivedLambdaType(rinfo.paramNames, rinfo.paramInfos, ares1)
862
- val actual1 = actual.derivedRefinedType(p, nme , rinfo1)
862
+ val actual1 = actual.derivedRefinedType(actual.parent, actual.refinedName , rinfo1)
863
863
actual1
864
864
)
865
865
case _ =>
@@ -1080,7 +1080,7 @@ class CheckCaptures extends Recheck, SymTransformer:
1080
1080
case CapturingType (parent, refs) =>
1081
1081
healCaptureSet(refs)
1082
1082
traverse(parent)
1083
- case tp @ RefinedType (parent, rname, rinfo : MethodType ) if defn.isFunctionType(tp ) =>
1083
+ case defn. RefinedFunctionOf ( rinfo : MethodType ) =>
1084
1084
traverse(rinfo)
1085
1085
case tp : TermLambda =>
1086
1086
val saved = allowed
0 commit comments