@@ -425,6 +425,7 @@ class NodePrinter {
425425 case Node::Kind::ImplDifferentiabilityKind:
426426 case Node::Kind::ImplEscaping:
427427 case Node::Kind::ImplErasedIsolation:
428+ case Node::Kind::ImplTransferringResult:
428429 case Node::Kind::ImplConvention:
429430 case Node::Kind::ImplParameterResultDifferentiability:
430431 case Node::Kind::ImplParameterTransferring:
@@ -975,6 +976,7 @@ class NodePrinter {
975976 void printImplFunctionType (NodePointer fn, unsigned depth) {
976977 NodePointer patternSubs = nullptr ;
977978 NodePointer invocationSubs = nullptr ;
979+ NodePointer transferringResult = nullptr ;
978980 enum State { Attrs, Inputs, Results } curState = Attrs;
979981 auto transitionTo = [&](State newState) {
980982 assert (newState >= curState);
@@ -988,7 +990,14 @@ class NodePrinter {
988990 }
989991 Printer << ' (' ;
990992 continue ;
991- case Inputs: Printer << " ) -> (" ; continue ;
993+ case Inputs:
994+ Printer << " ) -> " ;
995+ if (transferringResult) {
996+ print (transferringResult, depth + 1 );
997+ Printer << " " ;
998+ }
999+ Printer << " (" ;
1000+ continue ;
9921001 case Results: printer_unreachable (" no state after Results" );
9931002 }
9941003 printer_unreachable (" bad state" );
@@ -1010,6 +1019,8 @@ class NodePrinter {
10101019 patternSubs = child;
10111020 } else if (child->getKind () == Node::Kind::ImplInvocationSubstitutions) {
10121021 invocationSubs = child;
1022+ } else if (child->getKind () == Node::Kind::ImplTransferringResult) {
1023+ transferringResult = child;
10131024 } else {
10141025 assert (curState == Attrs);
10151026 print (child, depth + 1 );
@@ -2748,6 +2759,9 @@ NodePointer NodePrinter::print(NodePointer Node, unsigned depth,
27482759 case Node::Kind::ImplErasedIsolation:
27492760 Printer << " @isolated(any)" ;
27502761 return nullptr ;
2762+ case Node::Kind::ImplTransferringResult:
2763+ Printer << " transferring" ;
2764+ return nullptr ;
27512765 case Node::Kind::ImplConvention:
27522766 Printer << Node->getText ();
27532767 return nullptr ;
0 commit comments