diff --git a/Sources/SourceGraph/Mutators/ResultBuilderRetainer.swift b/Sources/SourceGraph/Mutators/ResultBuilderRetainer.swift index cf31655ff..70bbf7f03 100644 --- a/Sources/SourceGraph/Mutators/ResultBuilderRetainer.swift +++ b/Sources/SourceGraph/Mutators/ResultBuilderRetainer.swift @@ -14,6 +14,8 @@ final class ResultBuilderRetainer: SourceGraphMutator { "buildBlock(_:)", "buildFinalResult(_:)", "buildLimitedAvailability(_:)", + "buildPartialBlock(first:)", + "buildPartialBlock(accumulated:next:)", ]) required init(graph: SourceGraph, configuration _: Configuration, swiftVersion _: SwiftVersion) { diff --git a/Tests/Fixtures/Sources/RetentionFixtures/testRetainsResultBuilderMethods.swift b/Tests/Fixtures/Sources/RetentionFixtures/testRetainsResultBuilderMethods.swift index 4af7dfd11..d2689f4a8 100644 --- a/Tests/Fixtures/Sources/RetentionFixtures/testRetainsResultBuilderMethods.swift +++ b/Tests/Fixtures/Sources/RetentionFixtures/testRetainsResultBuilderMethods.swift @@ -37,6 +37,14 @@ class FixtureClass130 { static func buildLimitedAvailability(_ component: Component) -> Component { component } + + static func buildPartialBlock(first: Component) -> Component { + first + } + + static func buildPartialBlock(accumulated: Component, next: Component) -> Component { + accumulated + next + } } public class FixtureClass130Retainer { diff --git a/Tests/PeripheryTests/RetentionTest.swift b/Tests/PeripheryTests/RetentionTest.swift index 599bb83ec..8fb7a07dc 100644 --- a/Tests/PeripheryTests/RetentionTest.swift +++ b/Tests/PeripheryTests/RetentionTest.swift @@ -916,6 +916,8 @@ final class RetentionTest: FixtureSourceGraphTestCase { self.assertReferenced(.functionMethodStatic("buildBlock(_:)")) self.assertReferenced(.functionMethodStatic("buildFinalResult(_:)")) self.assertReferenced(.functionMethodStatic("buildLimitedAvailability(_:)")) + self.assertReferenced(.functionMethodStatic("buildPartialBlock(first:)")) + self.assertReferenced(.functionMethodStatic("buildPartialBlock(accumulated:next:)")) } } }