From 657fa172bc3fdcffad97dade46ab1416ebb7e830 Mon Sep 17 00:00:00 2001 From: Meghana Gupta Date: Wed, 4 Feb 2026 00:35:01 -0800 Subject: [PATCH] Fix ASTPrinting of borrow/mutate protocol requirements --- lib/AST/ASTPrinter.cpp | 14 ++++++++++---- test/ModuleInterface/borrow_accessor_test.swift | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/AST/ASTPrinter.cpp b/lib/AST/ASTPrinter.cpp index d4f53b82d72..28da9cd8ac0 100644 --- a/lib/AST/ASTPrinter.cpp +++ b/lib/AST/ASTPrinter.cpp @@ -2590,8 +2590,11 @@ void PrintAST::printAccessors(const AbstractStorageDecl *ASD) { Printer << " {"; if (mutatingGetter) printWithSpace("mutating"); - // TODO: Print borrow/yielding borrow here? - printWithSpace("get"); + if (ASD->getParsedAccessor(AccessorKind::Borrow)) { + printWithSpace("borrow"); + } else { + printWithSpace("get"); + } if (asyncGet) printWithSpace("async"); @@ -2603,8 +2606,11 @@ void PrintAST::printAccessors(const AbstractStorageDecl *ASD) { if (settable) { if (nonmutatingSetter) printWithSpace("nonmutating"); - // TODO: Print mutate/yielding mutate here? - printWithSpace("set"); + if (ASD->getParsedAccessor(AccessorKind::Mutate)) { + printWithSpace("mutate"); + } else { + printWithSpace("set"); + } } Printer << " }"; return; diff --git a/test/ModuleInterface/borrow_accessor_test.swift b/test/ModuleInterface/borrow_accessor_test.swift index 46d7b6451e7..1b4c724dc17 100644 --- a/test/ModuleInterface/borrow_accessor_test.swift +++ b/test/ModuleInterface/borrow_accessor_test.swift @@ -25,7 +25,7 @@ import borrow_accessors // CHECK: public protocol P { // CHECK: #if compiler(>=5.3) && $BorrowAndMutateAccessors -// TODO-CHECK: var k: borrow_accessors.Klass { borrow mutate } +// CHECK: var k: borrow_accessors.Klass { borrow mutate } // CHECK: #endif // CHECK: } // CHECK: public struct Wrapper : borrow_accessors.P {