@@ -7327,11 +7327,15 @@ class TypePrinter : public TypeVisitor<TypePrinter> {
7327
7327
printFunctionExtInfo (T);
7328
7328
printCalleeConvention (T->getCalleeConvention ());
7329
7329
7330
- if (auto sig = T->getInvocationGenericSignature ()) {
7330
+ if (GenericSignature sig = T->getInvocationGenericSignature ()) {
7331
+ SmallVector<InverseRequirement, 2 > inverses;
7332
+ reconstituteInverses (sig, sig.getGenericParams (), inverses);
7333
+
7331
7334
printGenericSignature (sig,
7332
- /* inverses= */ {} ,
7335
+ inverses,
7333
7336
PrintAST::PrintParams |
7334
- PrintAST::PrintRequirements);
7337
+ PrintAST::PrintRequirements |
7338
+ PrintAST::CollapseDefaultReqs);
7335
7339
Printer << " " ;
7336
7340
}
7337
7341
@@ -7351,11 +7355,16 @@ class TypePrinter : public TypeVisitor<TypePrinter> {
7351
7355
subBuffer.emplace (Printer, subOptions);
7352
7356
sub = &*subBuffer;
7353
7357
7358
+ GenericSignature sig = substitutions.getGenericSignature ();
7359
+
7360
+ SmallVector<InverseRequirement, 2 > inverses;
7361
+ reconstituteInverses (sig, sig.getGenericParams (), inverses);
7362
+
7354
7363
sub->Printer << " @substituted " ;
7355
- sub->printGenericSignature (substitutions.getGenericSignature (),
7356
- /* inverses=*/ {},
7364
+ sub->printGenericSignature (sig, inverses,
7357
7365
PrintAST::PrintParams |
7358
- PrintAST::PrintRequirements);
7366
+ PrintAST::PrintRequirements |
7367
+ PrintAST::CollapseDefaultReqs);
7359
7368
sub->Printer << " " ;
7360
7369
}
7361
7370
0 commit comments