The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of attributed-string-builder, reference main (0db7fa), with Swift 6.2 (beta) for macOS (SPM) on 20 Jun 2025 13:50:57 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
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 0db7fa9 Changes
Cloned https://github.com/objcio/attributed-string-builder.git
Revision (git rev-parse @):
0db7fa95d4a4372e6248a3cb948da617956ec09f
SUCCESS checkout https://github.com/objcio/attributed-string-builder.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/objcio/attributed-string-builder.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/38] Write sources
[1/38] Write swift-version-1EA4D86E10B52AF.txt
[2/38] Compiling cmark-gfm-extensions tagfilter.c
[3/38] Compiling cmark-gfm arena.c
[4/38] Compiling cmark-gfm buffer.c
[5/38] Compiling cmark-gfm-extensions table.c
[6/38] Compiling cmark-gfm-extensions tasklist.c
[7/38] Compiling cmark-gfm xml.c
[8/38] Compiling cmark-gfm-extensions strikethrough.c
[9/38] Compiling cmark-gfm blocks.c
[10/38] Compiling cmark-gfm syntax_extension.c
[11/38] Compiling cmark-gfm-extensions core-extensions.c
[12/38] Compiling cmark-gfm utf8.c
[13/38] Compiling cmark-gfm registry.c
[14/38] Compiling cmark-gfm plugin.c
[15/38] Compiling cmark-gfm render.c
[16/38] Compiling cmark-gfm references.c
[17/38] Compiling cmark-gfm plaintext.c
[18/38] Compiling cmark-gfm map.c
[19/38] Compiling cmark-gfm node.c
[20/38] Compiling cmark-gfm linked_list.c
[21/38] Compiling cmark-gfm man.c
[22/38] Compiling cmark-gfm-extensions ext_scanners.c
[23/38] Compiling cmark-gfm iterator.c
[24/38] Compiling cmark-gfm latex.c
[25/38] Compiling cmark-gfm scanners.c
[26/38] Compiling cmark-gfm html.c
[27/38] Compiling cmark-gfm houdini_html_u.c
[28/38] Write sources
[29/38] Compiling cmark-gfm houdini_html_e.c
[30/38] Compiling cmark-gfm houdini_href_e.c
[31/38] Compiling cmark-gfm inlines.c
[32/38] Compiling cmark-gfm footnotes.c
[33/38] Compiling cmark-gfm cmark_ctype.c
[34/38] Compiling cmark-gfm commonmark.c
[35/38] Compiling cmark-gfm cmark.c
[36/38] Compiling cmark-gfm-extensions autolink.c
[37/38] Compiling CAtomic CAtomic.c
[39/102] Emitting module Markdown
[40/109] Compiling Markdown CodeBlock.swift
[41/109] Compiling Markdown HTMLBlock.swift
[42/109] Compiling Markdown Heading.swift
[43/109] Compiling Markdown ThematicBreak.swift
[44/109] Compiling Markdown Table.swift
[45/109] Compiling Markdown TableBody.swift
[46/109] Compiling Markdown TableCell.swift
[47/109] Compiling Markdown InlineAttributes.swift
[48/109] Compiling Markdown Link.swift
[49/109] Compiling Markdown Strikethrough.swift
[50/109] Compiling Markdown Strong.swift
[51/109] Compiling Markdown CustomInline.swift
[52/109] Compiling Markdown InlineCode.swift
[53/109] Compiling Markdown InlineHTML.swift
[54/109] Compiling Markdown BlockContainer.swift
[55/109] Compiling Markdown BlockMarkup.swift
[56/109] Compiling Markdown InlineContainer.swift
[57/109] Compiling Markdown InlineMarkup.swift
[58/109] Compiling Markdown ListItemContainer.swift
[59/109] Compiling Markdown AtomicCounter.swift
[60/109] Compiling Markdown CharacterExtensions.swift
[61/109] Compiling Markdown CollectionExtensions.swift
[62/109] Compiling Markdown StringExtensions.swift
[63/109] Compiling Markdown MarkupVisitor.swift
[64/109] Compiling Markdown MarkupWalker.swift
[65/109] Compiling Markdown HTMLFormatter.swift
[66/109] Compiling Markdown MarkupFormatter.swift
[67/109] Compiling Markdown MarkupTreeDumper.swift
[68/109] Compiling Markdown ChildIndexPath.swift
[69/109] Compiling Markdown DirectiveArgument.swift
[70/109] Compiling Markdown Document.swift
[71/109] Compiling Markdown LiteralMarkup.swift
[72/109] Compiling Markdown Markup.swift
[73/109] Compiling Markdown MarkupChildren.swift
[74/109] Compiling Markdown MarkupData.swift
[75/109] Compiling Markdown TableCellContainer.swift
[76/109] Compiling Markdown TableHead.swift
[77/109] Compiling Markdown TableRow.swift
[78/109] Compiling Markdown Replacement.swift
[79/109] Compiling Markdown SourceLocation.swift
[80/109] Compiling Markdown Emphasis.swift
[81/109] Compiling Markdown Image.swift
[82/109] Compiling Markdown DoxygenNote.swift
[83/109] Compiling Markdown DoxygenParameter.swift
[84/109] Compiling Markdown DoxygenReturns.swift
[85/109] Compiling Markdown ListItem.swift
[86/109] Compiling Markdown OrderedList.swift
[87/109] Compiling Markdown UnorderedList.swift
[88/109] Compiling Markdown Paragraph.swift
[89/109] Compiling Markdown LazySplitLines.swift
[90/109] Compiling Markdown ParseOptions.swift
[91/109] Compiling Markdown RangeAdjuster.swift
[92/109] Compiling Markdown RangerTracker.swift
[93/109] Compiling Markdown MarkupRewriter.swift
[94/109] Compiling Markdown BasicBlockContainer.swift
[95/109] Compiling Markdown BasicInlineContainer.swift
[96/109] Compiling Markdown PlainTextConvertibleMarkup.swift
[97/109] Compiling Markdown RawMarkup.swift
[98/109] Compiling Markdown BlockDirective.swift
[99/109] Compiling Markdown BlockQuote.swift
[100/109] Compiling Markdown CustomBlock.swift
[101/109] Compiling Markdown DoxygenAbstract.swift
[102/109] Compiling Markdown DoxygenDiscussion.swift
[103/109] Compiling Markdown LineBreak.swift
[104/109] Compiling Markdown SoftBreak.swift
[105/109] Compiling Markdown SymbolLink.swift
[106/109] Compiling Markdown Text.swift
[107/109] Compiling Markdown Aside.swift
[108/109] Compiling Markdown BlockDirectiveParser.swift
[109/109] Compiling Markdown CommonMarkConverter.swift
[110/131] Compiling AttributedStringBuilder MarkdownString.swift
[111/131] Compiling AttributedStringBuilder MarkdownStylesheet.swift
[112/133] Emitting module AttributedStringBuilder
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:67:1: warning: '(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode
 65 | }
 66 |
 67 | @MainActor(unsafe)
    | `- warning: '(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode
 68 | struct AttributedStringWalker: MarkupWalker {
 69 |     var interpolationSegments: [any AttributedStringConvertible]
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:68:8: warning: conformance 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 [#ConformanceIsolation]
 66 |
 67 | @MainActor(unsafe)
 68 | struct AttributedStringWalker: MarkupWalker {
    |        |- warning: conformance 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 [#ConformanceIsolation]
    |        |- note: isolate this conformance to the main actor with '@MainActor'
    |        |- note: mark all declarations used in the conformance 'nonisolated'
    |        `- note: turn data races into runtime errors with '@preconcurrency'
 69 |     var interpolationSegments: [any AttributedStringConvertible]
 70 |     var context: Context
    :
 90 |     var customLinkVisitor: ((Link, NSAttributedString) -> any AttributedStringConvertible)?
 91 |
 92 |     mutating func visitDocument(_ document: Document) -> () {
    |                   `- note: main actor-isolated instance method 'visitDocument' cannot satisfy nonisolated requirement
 93 |         for block in document.blockChildren {
 94 |             if !attributedString.string.isEmpty {
    :
 99 |     }
100 |
101 |     func visitText(_ text: Text) -> () {
    |          `- note: main actor-isolated instance method 'visitText' cannot satisfy nonisolated requirement
102 |         attributedString.append(NSAttributedString(string: text.string, attributes: attributes))
103 |     }
104 |
105 |     func visitLineBreak(_ lineBreak: LineBreak) -> () {
    |          `- note: main actor-isolated instance method 'visitLineBreak' cannot satisfy nonisolated requirement
106 |         attributedString.append(NSAttributedString(string: "\n", attributes: attributes))
107 |     }
108 |
109 |     func visitSoftBreak(_ softBreak: SoftBreak) -> () {
    |          `- note: main actor-isolated instance method 'visitSoftBreak' cannot satisfy nonisolated requirement
110 |         return
111 |     }
112 |
113 |     func visitInlineCode(_ inlineCode: InlineCode) -> () {
    |          `- note: main actor-isolated instance method 'visitInlineCode' cannot satisfy nonisolated requirement
114 |         var attributes = attributes
115 |         stylesheet.inlineCode(attributes: &attributes)
    :
117 |     }
118 |
119 |     mutating func visitCodeBlock(_ codeBlock: CodeBlock) -> () {
    |                   `- note: main actor-isolated instance method 'visitCodeBlock' cannot satisfy nonisolated requirement
120 |         var attributes = attributes
121 |         let code = codeBlock.code.trimmingCharacters(in: .whitespacesAndNewlines)
    :
131 |     }
132 |
133 |     func visitInlineHTML(_ inlineHTML: InlineHTML) -> () {
    |          `- note: main actor-isolated instance method 'visitInlineHTML' cannot satisfy nonisolated requirement
134 |         fatalError()
135 |     }
136 |
137 |     func visitHTMLBlock(_ html: HTMLBlock) -> () {
    |          `- note: main actor-isolated instance method 'visitHTMLBlock' cannot satisfy nonisolated requirement
138 |         fatalError()
139 |     }
140 |
141 |     mutating func visitSymbolLink(_ symbolLink: SymbolLink) -> () {
    |                   `- note: main actor-isolated instance method 'visitSymbolLink' cannot satisfy nonisolated requirement
142 |         let prefixStr = "io.objc.interpolate."
143 |         var remainder = symbolLink.destination ?? ""
    :
154 |     }
155 |
156 |     mutating func visitEmphasis(_ emphasis: Emphasis) -> () {
    |                   `- note: main actor-isolated instance method 'visitEmphasis' cannot satisfy nonisolated requirement
157 |         let original = attributes
158 |         defer { attributes = original }
    :
165 |     }
166 |
167 |     mutating func visitStrong(_ strong: Strong) -> () {
    |                   `- note: main actor-isolated instance method 'visitStrong' cannot satisfy nonisolated requirement
168 |         let original = attributes
169 |         defer { attributes = original }
    :
176 |     }
177 |
178 |     func visitCustomBlock(_ customBlock: CustomBlock) -> () {
    |          `- note: main actor-isolated instance method 'visitCustomBlock' cannot satisfy nonisolated requirement
179 |         fatalError()
180 |     }
181 |
182 |     func visitCustomInline(_ customInline: CustomInline) -> () {
    |          `- note: main actor-isolated instance method 'visitCustomInline' cannot satisfy nonisolated requirement
183 |         fatalError()
184 |     }
185 |
186 |     mutating func visitLink(_ link: Link) -> () {
    |                   `- note: main actor-isolated instance method 'visitLink' cannot satisfy nonisolated requirement
187 |         let original = attributes
188 |         defer { attributes = original }
    :
205 |     }
206 |
207 |     mutating func visitHeading(_ heading: Heading) -> () {
    |                   `- note: main actor-isolated instance method 'visitHeading' cannot satisfy nonisolated requirement
208 |         let original = attributes
209 |         defer { attributes = original }
    :
225 |     }
226 |
227 |     mutating func visitOrderedList(_ orderedList: OrderedList) -> () {
    |                   `- note: main actor-isolated instance method 'visitOrderedList' cannot satisfy nonisolated requirement
228 |         visit(list: orderedList)
229 |     }
230 |
231 |     mutating func visitUnorderedList(_ unorderedList: UnorderedList) -> () {
    |                   `- note: main actor-isolated instance method 'visitUnorderedList' cannot satisfy nonisolated requirement
232 |         visit(list: unorderedList)
233 |     }
    :
290 |     }
291 |
292 |     mutating func visitListItem(_ listItem: ListItem) -> () {
    |                   `- note: main actor-isolated instance method 'visitListItem' cannot satisfy nonisolated requirement
293 |         let original = attributes
294 |         defer { attributes = original }
    :
306 |     }
307 |
308 |     mutating func visitBlockQuote(_ blockQuote: BlockQuote) -> () {
    |                   `- note: main actor-isolated instance method 'visitBlockQuote' cannot satisfy nonisolated requirement
309 |         let original = attributes
310 |         defer { attributes = original }
    :
315 |     }
316 |
317 |     func visitThematicBreak(_ thematicBreak: ThematicBreak) -> () {
    |          `- note: main actor-isolated instance method 'visitThematicBreak' cannot satisfy nonisolated requirement
318 |         // TODO we could consider making this stylable, but ideally the stylesheet doesn't know about NSAttributedString?
319 |         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>
[113/133] Compiling AttributedStringBuilder Heading.swift
[114/133] Compiling AttributedStringBuilder Image.swift
[115/133] Compiling AttributedStringBuilder State.swift
[116/133] Compiling AttributedStringBuilder StringHelpers.swift
[117/133] Compiling AttributedStringBuilder InternalLinks.swift
[118/133] Compiling AttributedStringBuilder Join.swift
[119/133] Compiling AttributedStringBuilder CustomKeys.swift
[120/133] Compiling AttributedStringBuilder Environment.swift
[121/133] Compiling AttributedStringBuilder Footnote.swift
[122/133] Compiling AttributedStringBuilder AddOutline.swift
[123/133] Compiling AttributedStringBuilder AttributedStringBuilder.swift
[124/133] Compiling AttributedStringBuilder AttributedStringConvertible.swift
[125/133] Compiling AttributedStringBuilder Modify.swift
[126/133] Compiling AttributedStringBuilder PDF.swift
[127/133] Compiling AttributedStringBuilder LayoutManagerHelpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:67:1: warning: '(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode
 65 | }
 66 |
 67 | @MainActor(unsafe)
    | `- warning: '(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode
 68 | struct AttributedStringWalker: MarkupWalker {
 69 |     var interpolationSegments: [any AttributedStringConvertible]
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:68:8: warning: conformance 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 [#ConformanceIsolation]
 66 |
 67 | @MainActor(unsafe)
 68 | struct AttributedStringWalker: MarkupWalker {
    |        |- warning: conformance 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 [#ConformanceIsolation]
    |        |- note: isolate this conformance to the main actor with '@MainActor'
    |        |- note: mark all declarations used in the conformance 'nonisolated'
    |        `- note: turn data races into runtime errors with '@preconcurrency'
 69 |     var interpolationSegments: [any AttributedStringConvertible]
 70 |     var context: Context
    :
 90 |     var customLinkVisitor: ((Link, NSAttributedString) -> any AttributedStringConvertible)?
 91 |
 92 |     mutating func visitDocument(_ document: Document) -> () {
    |                   `- note: main actor-isolated instance method 'visitDocument' cannot satisfy nonisolated requirement
 93 |         for block in document.blockChildren {
 94 |             if !attributedString.string.isEmpty {
    :
 99 |     }
100 |
101 |     func visitText(_ text: Text) -> () {
    |          `- note: main actor-isolated instance method 'visitText' cannot satisfy nonisolated requirement
102 |         attributedString.append(NSAttributedString(string: text.string, attributes: attributes))
103 |     }
104 |
105 |     func visitLineBreak(_ lineBreak: LineBreak) -> () {
    |          `- note: main actor-isolated instance method 'visitLineBreak' cannot satisfy nonisolated requirement
106 |         attributedString.append(NSAttributedString(string: "\n", attributes: attributes))
107 |     }
108 |
109 |     func visitSoftBreak(_ softBreak: SoftBreak) -> () {
    |          `- note: main actor-isolated instance method 'visitSoftBreak' cannot satisfy nonisolated requirement
110 |         return
111 |     }
112 |
113 |     func visitInlineCode(_ inlineCode: InlineCode) -> () {
    |          `- note: main actor-isolated instance method 'visitInlineCode' cannot satisfy nonisolated requirement
114 |         var attributes = attributes
115 |         stylesheet.inlineCode(attributes: &attributes)
    :
117 |     }
118 |
119 |     mutating func visitCodeBlock(_ codeBlock: CodeBlock) -> () {
    |                   `- note: main actor-isolated instance method 'visitCodeBlock' cannot satisfy nonisolated requirement
120 |         var attributes = attributes
121 |         let code = codeBlock.code.trimmingCharacters(in: .whitespacesAndNewlines)
    :
131 |     }
132 |
133 |     func visitInlineHTML(_ inlineHTML: InlineHTML) -> () {
    |          `- note: main actor-isolated instance method 'visitInlineHTML' cannot satisfy nonisolated requirement
134 |         fatalError()
135 |     }
136 |
137 |     func visitHTMLBlock(_ html: HTMLBlock) -> () {
    |          `- note: main actor-isolated instance method 'visitHTMLBlock' cannot satisfy nonisolated requirement
138 |         fatalError()
139 |     }
140 |
141 |     mutating func visitSymbolLink(_ symbolLink: SymbolLink) -> () {
    |                   `- note: main actor-isolated instance method 'visitSymbolLink' cannot satisfy nonisolated requirement
142 |         let prefixStr = "io.objc.interpolate."
143 |         var remainder = symbolLink.destination ?? ""
    :
154 |     }
155 |
156 |     mutating func visitEmphasis(_ emphasis: Emphasis) -> () {
    |                   `- note: main actor-isolated instance method 'visitEmphasis' cannot satisfy nonisolated requirement
157 |         let original = attributes
158 |         defer { attributes = original }
    :
165 |     }
166 |
167 |     mutating func visitStrong(_ strong: Strong) -> () {
    |                   `- note: main actor-isolated instance method 'visitStrong' cannot satisfy nonisolated requirement
168 |         let original = attributes
169 |         defer { attributes = original }
    :
176 |     }
177 |
178 |     func visitCustomBlock(_ customBlock: CustomBlock) -> () {
    |          `- note: main actor-isolated instance method 'visitCustomBlock' cannot satisfy nonisolated requirement
179 |         fatalError()
180 |     }
181 |
182 |     func visitCustomInline(_ customInline: CustomInline) -> () {
    |          `- note: main actor-isolated instance method 'visitCustomInline' cannot satisfy nonisolated requirement
183 |         fatalError()
184 |     }
185 |
186 |     mutating func visitLink(_ link: Link) -> () {
    |                   `- note: main actor-isolated instance method 'visitLink' cannot satisfy nonisolated requirement
187 |         let original = attributes
188 |         defer { attributes = original }
    :
205 |     }
206 |
207 |     mutating func visitHeading(_ heading: Heading) -> () {
    |                   `- note: main actor-isolated instance method 'visitHeading' cannot satisfy nonisolated requirement
208 |         let original = attributes
209 |         defer { attributes = original }
    :
225 |     }
226 |
227 |     mutating func visitOrderedList(_ orderedList: OrderedList) -> () {
    |                   `- note: main actor-isolated instance method 'visitOrderedList' cannot satisfy nonisolated requirement
228 |         visit(list: orderedList)
229 |     }
230 |
231 |     mutating func visitUnorderedList(_ unorderedList: UnorderedList) -> () {
    |                   `- note: main actor-isolated instance method 'visitUnorderedList' cannot satisfy nonisolated requirement
232 |         visit(list: unorderedList)
233 |     }
    :
290 |     }
291 |
292 |     mutating func visitListItem(_ listItem: ListItem) -> () {
    |                   `- note: main actor-isolated instance method 'visitListItem' cannot satisfy nonisolated requirement
293 |         let original = attributes
294 |         defer { attributes = original }
    :
306 |     }
307 |
308 |     mutating func visitBlockQuote(_ blockQuote: BlockQuote) -> () {
    |                   `- note: main actor-isolated instance method 'visitBlockQuote' cannot satisfy nonisolated requirement
309 |         let original = attributes
310 |         defer { attributes = original }
    :
315 |     }
316 |
317 |     func visitThematicBreak(_ thematicBreak: ThematicBreak) -> () {
    |          `- note: main actor-isolated instance method 'visitThematicBreak' cannot satisfy nonisolated requirement
318 |         // TODO we could consider making this stylable, but ideally the stylesheet doesn't know about NSAttributedString?
319 |         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: warning: value 'c' was defined but never used; consider replacing with boolean test [#no-usage]
189 |
190 |         stylesheet.link(attributes: &attributes, destination: link.destination ?? "")
191 |         if let c = customLinkVisitor {
    |                `- warning: value 'c' was defined but never used; consider replacing with boolean test [#no-usage]
192 |             attributedStringStack.append(NSMutableAttributedString())
193 |         }
[#ConformanceIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation>
[128/133] Compiling AttributedStringBuilder MarkdownHelper.swift
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:67:1: warning: '(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode
 65 | }
 66 |
 67 | @MainActor(unsafe)
    | `- warning: '(unsafe)' global actors are deprecated; use '@preconcurrency' instead; this is an error in the Swift 6 language mode
 68 | struct AttributedStringWalker: MarkupWalker {
 69 |     var interpolationSegments: [any AttributedStringConvertible]
/Users/admin/builder/spi-builder-workspace/Sources/AttributedStringBuilder/MarkdownHelper.swift:68:8: warning: conformance 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 [#ConformanceIsolation]
 66 |
 67 | @MainActor(unsafe)
 68 | struct AttributedStringWalker: MarkupWalker {
    |        |- warning: conformance 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 [#ConformanceIsolation]
    |        |- note: isolate this conformance to the main actor with '@MainActor'
    |        |- note: mark all declarations used in the conformance 'nonisolated'
    |        `- note: turn data races into runtime errors with '@preconcurrency'
 69 |     var interpolationSegments: [any AttributedStringConvertible]
 70 |     var context: Context
    :
 90 |     var customLinkVisitor: ((Link, NSAttributedString) -> any AttributedStringConvertible)?
 91 |
 92 |     mutating func visitDocument(_ document: Document) -> () {
    |                   `- note: main actor-isolated instance method 'visitDocument' cannot satisfy nonisolated requirement
 93 |         for block in document.blockChildren {
 94 |             if !attributedString.string.isEmpty {
    :
 99 |     }
100 |
101 |     func visitText(_ text: Text) -> () {
    |          `- note: main actor-isolated instance method 'visitText' cannot satisfy nonisolated requirement
102 |         attributedString.append(NSAttributedString(string: text.string, attributes: attributes))
103 |     }
104 |
105 |     func visitLineBreak(_ lineBreak: LineBreak) -> () {
    |          `- note: main actor-isolated instance method 'visitLineBreak' cannot satisfy nonisolated requirement
106 |         attributedString.append(NSAttributedString(string: "\n", attributes: attributes))
107 |     }
108 |
109 |     func visitSoftBreak(_ softBreak: SoftBreak) -> () {
    |          `- note: main actor-isolated instance method 'visitSoftBreak' cannot satisfy nonisolated requirement
110 |         return
111 |     }
112 |
113 |     func visitInlineCode(_ inlineCode: InlineCode) -> () {
    |          `- note: main actor-isolated instance method 'visitInlineCode' cannot satisfy nonisolated requirement
114 |         var attributes = attributes
115 |         stylesheet.inlineCode(attributes: &attributes)
    :
117 |     }
118 |
119 |     mutating func visitCodeBlock(_ codeBlock: CodeBlock) -> () {
    |                   `- note: main actor-isolated instance method 'visitCodeBlock' cannot satisfy nonisolated requirement
120 |         var attributes = attributes
121 |         let code = codeBlock.code.trimmingCharacters(in: .whitespacesAndNewlines)
    :
131 |     }
132 |
133 |     func visitInlineHTML(_ inlineHTML: InlineHTML) -> () {
    |          `- note: main actor-isolated instance method 'visitInlineHTML' cannot satisfy nonisolated requirement
134 |         fatalError()
135 |     }
136 |
137 |     func visitHTMLBlock(_ html: HTMLBlock) -> () {
    |          `- note: main actor-isolated instance method 'visitHTMLBlock' cannot satisfy nonisolated requirement
138 |         fatalError()
139 |     }
140 |
141 |     mutating func visitSymbolLink(_ symbolLink: SymbolLink) -> () {
    |                   `- note: main actor-isolated instance method 'visitSymbolLink' cannot satisfy nonisolated requirement
142 |         let prefixStr = "io.objc.interpolate."
143 |         var remainder = symbolLink.destination ?? ""
    :
154 |     }
155 |
156 |     mutating func visitEmphasis(_ emphasis: Emphasis) -> () {
    |                   `- note: main actor-isolated instance method 'visitEmphasis' cannot satisfy nonisolated requirement
157 |         let original = attributes
158 |         defer { attributes = original }
    :
165 |     }
166 |
167 |     mutating func visitStrong(_ strong: Strong) -> () {
    |                   `- note: main actor-isolated instance method 'visitStrong' cannot satisfy nonisolated requirement
168 |         let original = attributes
169 |         defer { attributes = original }
    :
176 |     }
177 |
178 |     func visitCustomBlock(_ customBlock: CustomBlock) -> () {
    |          `- note: main actor-isolated instance method 'visitCustomBlock' cannot satisfy nonisolated requirement
179 |         fatalError()
180 |     }
181 |
182 |     func visitCustomInline(_ customInline: CustomInline) -> () {
    |          `- note: main actor-isolated instance method 'visitCustomInline' cannot satisfy nonisolated requirement
183 |         fatalError()
184 |     }
185 |
186 |     mutating func visitLink(_ link: Link) -> () {
    |                   `- note: main actor-isolated instance method 'visitLink' cannot satisfy nonisolated requirement
187 |         let original = attributes
188 |         defer { attributes = original }
    :
205 |     }
206 |
207 |     mutating func visitHeading(_ heading: Heading) -> () {
    |                   `- note: main actor-isolated instance method 'visitHeading' cannot satisfy nonisolated requirement
208 |         let original = attributes
209 |         defer { attributes = original }
    :
225 |     }
226 |
227 |     mutating func visitOrderedList(_ orderedList: OrderedList) -> () {
    |                   `- note: main actor-isolated instance method 'visitOrderedList' cannot satisfy nonisolated requirement
228 |         visit(list: orderedList)
229 |     }
230 |
231 |     mutating func visitUnorderedList(_ unorderedList: UnorderedList) -> () {
    |                   `- note: main actor-isolated instance method 'visitUnorderedList' cannot satisfy nonisolated requirement
232 |         visit(list: unorderedList)
233 |     }
    :
290 |     }
291 |
292 |     mutating func visitListItem(_ listItem: ListItem) -> () {
    |                   `- note: main actor-isolated instance method 'visitListItem' cannot satisfy nonisolated requirement
293 |         let original = attributes
294 |         defer { attributes = original }
    :
306 |     }
307 |
308 |     mutating func visitBlockQuote(_ blockQuote: BlockQuote) -> () {
    |                   `- note: main actor-isolated instance method 'visitBlockQuote' cannot satisfy nonisolated requirement
309 |         let original = attributes
310 |         defer { attributes = original }
    :
315 |     }
316 |
317 |     func visitThematicBreak(_ thematicBreak: ThematicBreak) -> () {
    |          `- note: main actor-isolated instance method 'visitThematicBreak' cannot satisfy nonisolated requirement
318 |         // TODO we could consider making this stylable, but ideally the stylesheet doesn't know about NSAttributedString?
319 |         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: warning: value 'c' was defined but never used; consider replacing with boolean test [#no-usage]
189 |
190 |         stylesheet.link(attributes: &attributes, destination: link.destination ?? "")
191 |         if let c = customLinkVisitor {
    |                `- warning: value 'c' was defined but never used; consider replacing with boolean test [#no-usage]
192 |             attributedStringStack.append(NSMutableAttributedString())
193 |         }
[#ConformanceIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation>
[129/133] Compiling AttributedStringBuilder SwiftUI.swift
[130/133] Compiling AttributedStringBuilder Table.swift
[131/133] Compiling AttributedStringBuilder AttributedStringToPDF_TextKit.swift
[132/133] Compiling AttributedStringBuilder Attributes.swift
[133/133] Compiling AttributedStringBuilder Checklist.swift
Build complete! (15.89s)
Fetching https://github.com/apple/swift-markdown
[1/6785] Fetching swift-markdown
Fetched https://github.com/apple/swift-markdown from cache (1.39s)
Fetching https://github.com/swiftlang/swift-cmark.git
[1/18112] Fetching swift-cmark
Fetched https://github.com/swiftlang/swift-cmark.git from cache (1.61s)
Creating working copy for https://github.com/apple/swift-markdown
Working copy of https://github.com/apple/swift-markdown resolved at main (c281baa)
Creating working copy for https://github.com/swiftlang/swift-cmark.git
Working copy of https://github.com/swiftlang/swift-cmark.git resolved at gfm (b97d094)
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.