Build Information
Successful build of attributed-string-builder, reference main (d5ca47), with Swift 6.4 for macOS (SPM) on 3 Oct 2026 00:54:34 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/objcio/attributed-string-builder.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/objcio/attributed-string-builder
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at d5ca47c Checkpoint
Cloned https://github.com/objcio/attributed-string-builder.git
Revision (git rev-parse @):
d5ca47c1f91e64fc4a78c1773c90ba6428338e43
SUCCESS checkout https://github.com/objcio/attributed-string-builder.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/objcio/attributed-string-builder.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Provisioning 3 / 10]
[Pre-planning 1 / 188]
[Planning deferred tasks]
[31 / 121]
[42 / 122] cmark-gfm-extensions
[66 / 134] cmark-gfm
[76 / 136]
[83 / 136] CAtomic
[101 / 136] cmark-gfm
[119 / 184] cmark-gfm-extensions
[129 / 184]
[135 / 184]
[139 / 184]
[141 / 184]
[145 / 184]
[147 / 184]
[150 / 184]
[153 / 184]
[155 / 184]
[156 / 184]
[167 / 184] Markdown
[168 / 184] Markdown
[174 / 185] AttributedStringBuilder
[180 / 230]
[183 / 230]
[186 / 230]
[195 / 230] Markdown
[200 / 230]
[201 / 230]
[205 / 230]
[207 / 230]
[210 / 230]
[221 / 230] AttributedStringBuilder
[227 / 230] AttributedStringBuilder
Build complete! (11.09 sec)
Fetching https://github.com/apple/swift-markdown
[1/7762] Fetching swift-markdown
Fetched https://github.com/apple/swift-markdown (1.59s)
Fetching https://github.com/swiftlang/swift-cmark.git
[1/18610] Fetching swift-cmark
Fetched https://github.com/swiftlang/swift-cmark.git (1.95s)
Creating working copy for https://github.com/apple/swift-markdown
Working copy of https://github.com/apple/swift-markdown resolved at main (392b73b)
Creating working copy for https://github.com/swiftlang/swift-cmark.git
Working copy of https://github.com/swiftlang/swift-cmark.git resolved at gfm (0c8947b)
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:67:1: [1;33mwarning: [1;39m'(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode[0;0m
[0;36m65 |[0;0m }
[0;36m66 |[0;0m
[0;36m67 |[0;0m @MainActor(unsafe)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode[0;0m
[0;36m68 |[0;0m struct AttributedStringWalker: MarkupWalker {
[0;36m69 |[0;0m var interpolationSegments: [any AttributedStringConvertible]
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:68:8: [1;33mwarning: [1;39mconformance of 'AttributedStringWalker' to protocol 'MarkupVisitor' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation\ConformanceIsolation]8;;\]
[0;36m66 |[0;0m
[0;36m67 |[0;0m @MainActor(unsafe)
[0;36m68 |[0;0m struct AttributedStringWalker: MarkupWalker {
[0;36m|[0;0m |- [1;33mwarning: [1;39mconformance of 'AttributedStringWalker' to protocol 'MarkupVisitor' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation\ConformanceIsolation]8;;\]
[0;36m|[0;0m |- [1;39mnote: [1;39misolate this conformance to the main actor with '@MainActor'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mturn data races into runtime errors with '@preconcurrency'[0;0m
[0;36m69 |[0;0m var interpolationSegments: [any AttributedStringConvertible]
[0;36m70 |[0;0m var context: Context
[0;36m:[0;0m
[0;36m90 |[0;0m var customLinkVisitor: ((Link, NSAttributedString) -> any AttributedStringConvertible)?
[0;36m91 |[0;0m
[0;36m92 |[0;0m mutating func visitDocument(_ document: Document) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitDocument' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitDocument' 'nonisolated'[0;0m
[0;36m93 |[0;0m for block in document.blockChildren {
[0;36m94 |[0;0m if !attributedString.string.isEmpty {
[0;36m:[0;0m
[0;36m99 |[0;0m }
[0;36m100 |[0;0m
[0;36m101 |[0;0m func visitText(_ text: Text) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitText' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitText' 'nonisolated'[0;0m
[0;36m102 |[0;0m attributedString.append(NSAttributedString(string: text.string, attributes: attributes))
[0;36m103 |[0;0m }
[0;36m104 |[0;0m
[0;36m105 |[0;0m func visitLineBreak(_ lineBreak: LineBreak) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitLineBreak' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitLineBreak' 'nonisolated'[0;0m
[0;36m106 |[0;0m attributedString.append(NSAttributedString(string: "\n", attributes: attributes))
[0;36m107 |[0;0m }
[0;36m108 |[0;0m
[0;36m109 |[0;0m func visitSoftBreak(_ softBreak: SoftBreak) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitSoftBreak' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitSoftBreak' 'nonisolated'[0;0m
[0;36m110 |[0;0m return
[0;36m111 |[0;0m }
[0;36m112 |[0;0m
[0;36m113 |[0;0m func visitInlineCode(_ inlineCode: InlineCode) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitInlineCode' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitInlineCode' 'nonisolated'[0;0m
[0;36m114 |[0;0m var attributes = attributes
[0;36m115 |[0;0m stylesheet.inlineCode(attributes: &attributes)
[0;36m:[0;0m
[0;36m117 |[0;0m }
[0;36m118 |[0;0m
[0;36m119 |[0;0m mutating func visitCodeBlock(_ codeBlock: CodeBlock) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitCodeBlock' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitCodeBlock' 'nonisolated'[0;0m
[0;36m120 |[0;0m var attributes = attributes
[0;36m121 |[0;0m let code = codeBlock.code.trimmingCharacters(in: .whitespacesAndNewlines)
[0;36m:[0;0m
[0;36m131 |[0;0m }
[0;36m132 |[0;0m
[0;36m133 |[0;0m func visitInlineHTML(_ inlineHTML: InlineHTML) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitInlineHTML' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitInlineHTML' 'nonisolated'[0;0m
[0;36m134 |[0;0m fatalError()
[0;36m135 |[0;0m }
[0;36m136 |[0;0m
[0;36m137 |[0;0m func visitHTMLBlock(_ html: HTMLBlock) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitHTMLBlock' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitHTMLBlock' 'nonisolated'[0;0m
[0;36m138 |[0;0m fatalError()
[0;36m139 |[0;0m }
[0;36m140 |[0;0m
[0;36m141 |[0;0m mutating func visitSymbolLink(_ symbolLink: SymbolLink) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitSymbolLink' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitSymbolLink' 'nonisolated'[0;0m
[0;36m142 |[0;0m let prefixStr = "io.objc.interpolate."
[0;36m143 |[0;0m var remainder = symbolLink.destination ?? ""
[0;36m:[0;0m
[0;36m154 |[0;0m }
[0;36m155 |[0;0m
[0;36m156 |[0;0m mutating func visitEmphasis(_ emphasis: Emphasis) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitEmphasis' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitEmphasis' 'nonisolated'[0;0m
[0;36m157 |[0;0m let original = attributes
[0;36m158 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m165 |[0;0m }
[0;36m166 |[0;0m
[0;36m167 |[0;0m mutating func visitStrong(_ strong: Strong) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitStrong' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitStrong' 'nonisolated'[0;0m
[0;36m168 |[0;0m let original = attributes
[0;36m169 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m176 |[0;0m }
[0;36m177 |[0;0m
[0;36m178 |[0;0m func visitCustomBlock(_ customBlock: CustomBlock) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitCustomBlock' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitCustomBlock' 'nonisolated'[0;0m
[0;36m179 |[0;0m fatalError()
[0;36m180 |[0;0m }
[0;36m181 |[0;0m
[0;36m182 |[0;0m func visitCustomInline(_ customInline: CustomInline) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitCustomInline' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitCustomInline' 'nonisolated'[0;0m
[0;36m183 |[0;0m fatalError()
[0;36m184 |[0;0m }
[0;36m185 |[0;0m
[0;36m186 |[0;0m mutating func visitLink(_ link: Link) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitLink' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitLink' 'nonisolated'[0;0m
[0;36m187 |[0;0m let original = attributes
[0;36m188 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m205 |[0;0m }
[0;36m206 |[0;0m
[0;36m207 |[0;0m mutating func visitHeading(_ heading: Heading) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitHeading' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitHeading' 'nonisolated'[0;0m
[0;36m208 |[0;0m let original = attributes
[0;36m209 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m225 |[0;0m }
[0;36m226 |[0;0m
[0;36m227 |[0;0m mutating func visitOrderedList(_ orderedList: OrderedList) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitOrderedList' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitOrderedList' 'nonisolated'[0;0m
[0;36m228 |[0;0m visit(list: orderedList)
[0;36m229 |[0;0m }
[0;36m230 |[0;0m
[0;36m231 |[0;0m mutating func visitUnorderedList(_ unorderedList: UnorderedList) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitUnorderedList' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitUnorderedList' 'nonisolated'[0;0m
[0;36m232 |[0;0m visit(list: unorderedList)
[0;36m233 |[0;0m }
[0;36m:[0;0m
[0;36m290 |[0;0m }
[0;36m291 |[0;0m
[0;36m292 |[0;0m mutating func visitListItem(_ listItem: ListItem) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitListItem' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitListItem' 'nonisolated'[0;0m
[0;36m293 |[0;0m let original = attributes
[0;36m294 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m306 |[0;0m }
[0;36m307 |[0;0m
[0;36m308 |[0;0m mutating func visitBlockQuote(_ blockQuote: BlockQuote) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitBlockQuote' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitBlockQuote' 'nonisolated'[0;0m
[0;36m309 |[0;0m let original = attributes
[0;36m310 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m315 |[0;0m }
[0;36m316 |[0;0m
[0;36m317 |[0;0m func visitThematicBreak(_ thematicBreak: ThematicBreak) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitThematicBreak' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitThematicBreak' 'nonisolated'[0;0m
[0;36m318 |[0;0m // TODO we could consider making this stylable, but ideally the stylesheet doesn't know about NSAttributedString?
[0;36m319 |[0;0m let thematicBreak = NSAttributedString(string: "\n\r\u{00A0} \u{0009} \u{00A0}\n\n", attributes: [.strikethroughStyle: NSUnderlineStyle.single.rawValue, .strikethroughColor: NSColor.gray])
[#ConformanceIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation>
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:67:1: [1;33mwarning: [1;39m'(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode[0;0m
[0;36m65 |[0;0m }
[0;36m66 |[0;0m
[0;36m67 |[0;0m @MainActor(unsafe)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode[0;0m
[0;36m68 |[0;0m struct AttributedStringWalker: MarkupWalker {
[0;36m69 |[0;0m var interpolationSegments: [any AttributedStringConvertible]
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:68:8: [1;33mwarning: [1;39mconformance of 'AttributedStringWalker' to protocol 'MarkupVisitor' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation\ConformanceIsolation]8;;\]
[0;36m66 |[0;0m
[0;36m67 |[0;0m @MainActor(unsafe)
[0;36m68 |[0;0m struct AttributedStringWalker: MarkupWalker {
[0;36m|[0;0m |- [1;33mwarning: [1;39mconformance of 'AttributedStringWalker' to protocol 'MarkupVisitor' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation\ConformanceIsolation]8;;\]
[0;36m|[0;0m |- [1;39mnote: [1;39misolate this conformance to the main actor with '@MainActor'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mturn data races into runtime errors with '@preconcurrency'[0;0m
[0;36m69 |[0;0m var interpolationSegments: [any AttributedStringConvertible]
[0;36m70 |[0;0m var context: Context
[0;36m:[0;0m
[0;36m90 |[0;0m var customLinkVisitor: ((Link, NSAttributedString) -> any AttributedStringConvertible)?
[0;36m91 |[0;0m
[0;36m92 |[0;0m mutating func visitDocument(_ document: Document) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitDocument' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitDocument' 'nonisolated'[0;0m
[0;36m93 |[0;0m for block in document.blockChildren {
[0;36m94 |[0;0m if !attributedString.string.isEmpty {
[0;36m:[0;0m
[0;36m99 |[0;0m }
[0;36m100 |[0;0m
[0;36m101 |[0;0m func visitText(_ text: Text) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitText' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitText' 'nonisolated'[0;0m
[0;36m102 |[0;0m attributedString.append(NSAttributedString(string: text.string, attributes: attributes))
[0;36m103 |[0;0m }
[0;36m104 |[0;0m
[0;36m105 |[0;0m func visitLineBreak(_ lineBreak: LineBreak) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitLineBreak' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitLineBreak' 'nonisolated'[0;0m
[0;36m106 |[0;0m attributedString.append(NSAttributedString(string: "\n", attributes: attributes))
[0;36m107 |[0;0m }
[0;36m108 |[0;0m
[0;36m109 |[0;0m func visitSoftBreak(_ softBreak: SoftBreak) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitSoftBreak' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitSoftBreak' 'nonisolated'[0;0m
[0;36m110 |[0;0m return
[0;36m111 |[0;0m }
[0;36m112 |[0;0m
[0;36m113 |[0;0m func visitInlineCode(_ inlineCode: InlineCode) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitInlineCode' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitInlineCode' 'nonisolated'[0;0m
[0;36m114 |[0;0m var attributes = attributes
[0;36m115 |[0;0m stylesheet.inlineCode(attributes: &attributes)
[0;36m:[0;0m
[0;36m117 |[0;0m }
[0;36m118 |[0;0m
[0;36m119 |[0;0m mutating func visitCodeBlock(_ codeBlock: CodeBlock) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitCodeBlock' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitCodeBlock' 'nonisolated'[0;0m
[0;36m120 |[0;0m var attributes = attributes
[0;36m121 |[0;0m let code = codeBlock.code.trimmingCharacters(in: .whitespacesAndNewlines)
[0;36m:[0;0m
[0;36m131 |[0;0m }
[0;36m132 |[0;0m
[0;36m133 |[0;0m func visitInlineHTML(_ inlineHTML: InlineHTML) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitInlineHTML' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitInlineHTML' 'nonisolated'[0;0m
[0;36m134 |[0;0m fatalError()
[0;36m135 |[0;0m }
[0;36m136 |[0;0m
[0;36m137 |[0;0m func visitHTMLBlock(_ html: HTMLBlock) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitHTMLBlock' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitHTMLBlock' 'nonisolated'[0;0m
[0;36m138 |[0;0m fatalError()
[0;36m139 |[0;0m }
[0;36m140 |[0;0m
[0;36m141 |[0;0m mutating func visitSymbolLink(_ symbolLink: SymbolLink) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitSymbolLink' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitSymbolLink' 'nonisolated'[0;0m
[0;36m142 |[0;0m let prefixStr = "io.objc.interpolate."
[0;36m143 |[0;0m var remainder = symbolLink.destination ?? ""
[0;36m:[0;0m
[0;36m154 |[0;0m }
[0;36m155 |[0;0m
[0;36m156 |[0;0m mutating func visitEmphasis(_ emphasis: Emphasis) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitEmphasis' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitEmphasis' 'nonisolated'[0;0m
[0;36m157 |[0;0m let original = attributes
[0;36m158 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m165 |[0;0m }
[0;36m166 |[0;0m
[0;36m167 |[0;0m mutating func visitStrong(_ strong: Strong) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitStrong' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitStrong' 'nonisolated'[0;0m
[0;36m168 |[0;0m let original = attributes
[0;36m169 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m176 |[0;0m }
[0;36m177 |[0;0m
[0;36m178 |[0;0m func visitCustomBlock(_ customBlock: CustomBlock) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitCustomBlock' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitCustomBlock' 'nonisolated'[0;0m
[0;36m179 |[0;0m fatalError()
[0;36m180 |[0;0m }
[0;36m181 |[0;0m
[0;36m182 |[0;0m func visitCustomInline(_ customInline: CustomInline) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitCustomInline' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitCustomInline' 'nonisolated'[0;0m
[0;36m183 |[0;0m fatalError()
[0;36m184 |[0;0m }
[0;36m185 |[0;0m
[0;36m186 |[0;0m mutating func visitLink(_ link: Link) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitLink' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitLink' 'nonisolated'[0;0m
[0;36m187 |[0;0m let original = attributes
[0;36m188 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m205 |[0;0m }
[0;36m206 |[0;0m
[0;36m207 |[0;0m mutating func visitHeading(_ heading: Heading) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitHeading' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitHeading' 'nonisolated'[0;0m
[0;36m208 |[0;0m let original = attributes
[0;36m209 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m225 |[0;0m }
[0;36m226 |[0;0m
[0;36m227 |[0;0m mutating func visitOrderedList(_ orderedList: OrderedList) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitOrderedList' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitOrderedList' 'nonisolated'[0;0m
[0;36m228 |[0;0m visit(list: orderedList)
[0;36m229 |[0;0m }
[0;36m230 |[0;0m
[0;36m231 |[0;0m mutating func visitUnorderedList(_ unorderedList: UnorderedList) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitUnorderedList' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitUnorderedList' 'nonisolated'[0;0m
[0;36m232 |[0;0m visit(list: unorderedList)
[0;36m233 |[0;0m }
[0;36m:[0;0m
[0;36m290 |[0;0m }
[0;36m291 |[0;0m
[0;36m292 |[0;0m mutating func visitListItem(_ listItem: ListItem) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitListItem' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitListItem' 'nonisolated'[0;0m
[0;36m293 |[0;0m let original = attributes
[0;36m294 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m306 |[0;0m }
[0;36m307 |[0;0m
[0;36m308 |[0;0m mutating func visitBlockQuote(_ blockQuote: BlockQuote) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitBlockQuote' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitBlockQuote' 'nonisolated'[0;0m
[0;36m309 |[0;0m let original = attributes
[0;36m310 |[0;0m defer { attributes = original }
[0;36m:[0;0m
[0;36m315 |[0;0m }
[0;36m316 |[0;0m
[0;36m317 |[0;0m func visitThematicBreak(_ thematicBreak: ThematicBreak) -> () {
[0;36m|[0;0m |- [1;39mnote: [1;39mmain actor-isolated instance method 'visitThematicBreak' cannot satisfy nonisolated requirement[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mmark instance method 'visitThematicBreak' 'nonisolated'[0;0m
[0;36m318 |[0;0m // TODO we could consider making this stylable, but ideally the stylesheet doesn't know about NSAttributedString?
[0;36m319 |[0;0m let thematicBreak = NSAttributedString(string: "\n\r\u{00A0} \u{0009} \u{00A0}\n\n", attributes: [.strikethroughStyle: NSUnderlineStyle.single.rawValue, .strikethroughColor: NSColor.gray])
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:191:16: [1;33mwarning: [1;39mvalue 'c' was defined but never used; consider replacing with boolean test[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m189 |[0;0m
[0;36m190 |[0;0m stylesheet.link(attributes: &attributes, destination: link.destination ?? "")
[0;36m191 |[0;0m if let c = customLinkVisitor {
[0;36m|[0;0m `- [1;33mwarning: [1;39mvalue 'c' was defined but never used; consider replacing with boolean test[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m192 |[0;0m attributedStringStack.append(NSMutableAttributedString())
[0;36m193 |[0;0m }
[#ConformanceIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation>
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
Build complete.
{
"dependencies" : [
{
"identity" : "swift-markdown",
"requirement" : {
"branch" : [
"main"
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-markdown"
}
],
"manifest_display_name" : "attributed-string-builder",
"name" : "attributed-string-builder",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "AttributedStringBuilder",
"targets" : [
"AttributedStringBuilder"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Tests",
"module_type" : "SwiftTarget",
"name" : "Tests",
"path" : "Sources/Tests",
"sources" : [
"Environment.swift",
"MarkdownTests.swift",
"ReadmeTests.swift",
"Tests.swift"
],
"target_dependencies" : [
"AttributedStringBuilder"
],
"type" : "test"
},
{
"c99name" : "AttributedStringBuilder",
"module_type" : "SwiftTarget",
"name" : "AttributedStringBuilder",
"path" : "Sources/AttributedStringBuilder",
"product_dependencies" : [
"Markdown"
],
"product_memberships" : [
"AttributedStringBuilder"
],
"sources" : [
"AddOutline.swift",
"AttributedStringBuilder.swift",
"AttributedStringConvertible.swift",
"AttributedStringToPDF_TextKit.swift",
"Attributes.swift",
"Checklist.swift",
"CustomKeys.swift",
"Environment.swift",
"Footnote.swift",
"Heading.swift",
"Image.swift",
"InternalLinks.swift",
"Join.swift",
"LayoutManagerHelpers.swift",
"MarkdownHelper.swift",
"MarkdownString.swift",
"MarkdownStylesheet.swift",
"Modify.swift",
"PDF.swift",
"State.swift",
"StringHelpers.swift",
"SwiftUI.swift",
"Table.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.