Build Information
Successful build of attributed-string-builder, reference main (0db7fa), with Swift 6.3 for macOS (SPM) on 22 Apr 2026 13:19:19 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.70.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
Fetching https://github.com/apple/swift-markdown
[1/7308] Fetching swift-markdown
Fetched https://github.com/apple/swift-markdown from cache (1.48s)
Fetching https://github.com/apple/swift-cmark.git
[1/18376] Fetching swift-cmark
Fetched https://github.com/apple/swift-cmark.git from cache (1.75s)
Creating working copy for https://github.com/apple/swift-cmark.git
Working copy of https://github.com/apple/swift-cmark.git resolved at gfm (86aeb49)
Creating working copy for https://github.com/apple/swift-markdown
Working copy of https://github.com/apple/swift-markdown resolved at main (ad0b81f)
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "attributed-string-builder",
"name": "attributed-string-builder",
"url": "https://github.com/objcio/attributed-string-builder.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/attributed-string-builder",
"traits": [
"default"
],
"dependencies": [
{
"identity": "swift-markdown",
"name": "swift-markdown",
"url": "https://github.com/apple/swift-markdown",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-markdown",
"traits": [
"default"
],
"dependencies": [
{
"identity": "swift-cmark",
"name": "cmark-gfm",
"url": "https://github.com/swiftlang/swift-cmark.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-cmark",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
]
}
]
}
Fetching https://github.com/objcio/attributed-string-builder.git
[1/549] Fetching attributed-string-builder
Fetched https://github.com/objcio/attributed-string-builder.git from cache (0.75s)
Fetching https://github.com/apple/swift-markdown from cache
Fetched https://github.com/apple/swift-markdown from cache (0.65s)
Fetching https://github.com/swiftlang/swift-cmark.git
[1/18376] Fetching swift-cmark
Fetched https://github.com/swiftlang/swift-cmark.git from cache (1.75s)
Creating working copy for https://github.com/apple/swift-markdown
Working copy of https://github.com/apple/swift-markdown resolved at main (55d66d9)
Creating working copy for https://github.com/swiftlang/swift-cmark.git
Working copy of https://github.com/swiftlang/swift-cmark.git resolved at gfm (924936d)
Creating working copy for https://github.com/objcio/attributed-string-builder.git
Working copy of https://github.com/objcio/attributed-string-builder.git resolved at main (0db7fa9)
warning: '.resolve-product-dependencies': dependency 'attributed-string-builder' is not used by any target
Found 1 product dependencies
- swift-markdown
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/objcio/attributed-string-builder.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/38] Write swift-version--6988338F2F200930.txt
[1/38] Compiling cmark-gfm houdini_href_e.c
[2/38] Compiling cmark-gfm houdini_html_e.c
[3/38] Compiling cmark-gfm houdini_html_u.c
[4/38] Compiling cmark-gfm arena.c
[5/38] Compiling cmark-gfm commonmark.c
[6/38] Compiling cmark-gfm footnotes.c
[7/38] Compiling cmark-gfm inlines.c
[8/38] Compiling cmark-gfm-extensions tasklist.c
[9/38] Compiling cmark-gfm xml.c
[10/38] Compiling cmark-gfm cmark.c
[11/38] Compiling cmark-gfm-extensions core-extensions.c
[12/38] Compiling cmark-gfm syntax_extension.c
[13/38] Compiling cmark-gfm-extensions strikethrough.c
[14/38] Compiling cmark-gfm registry.c
[15/38] Compiling cmark-gfm utf8.c
[16/38] Compiling cmark-gfm render.c
[17/38] Compiling cmark-gfm-extensions tagfilter.c
[18/38] Compiling cmark-gfm plugin.c
[19/38] Compiling cmark-gfm references.c
[20/38] Compiling cmark-gfm-extensions table.c
[21/38] Compiling cmark-gfm map.c
[22/38] Compiling cmark-gfm plaintext.c
[23/38] Compiling cmark-gfm man.c
[24/38] Compiling cmark-gfm node.c
[25/38] Compiling cmark-gfm linked_list.c
[26/38] Write sources
[27/38] Compiling cmark-gfm latex.c
[28/38] Write sources
[29/38] Compiling cmark-gfm-extensions ext_scanners.c
[30/38] Compiling cmark-gfm scanners.c
[31/38] Compiling cmark-gfm iterator.c
[32/38] Compiling cmark-gfm cmark_ctype.c
[33/38] Compiling cmark-gfm html.c
[34/38] Compiling CAtomic CAtomic.c
[35/38] Compiling cmark-gfm buffer.c
[36/38] Compiling cmark-gfm blocks.c
[37/38] Compiling cmark-gfm-extensions autolink.c
[39/99] Emitting module Markdown
[40/105] Compiling Markdown RangeAdjuster.swift
[41/105] Compiling Markdown RangerTracker.swift
[42/105] Compiling Markdown MarkupRewriter.swift
[43/105] Compiling Markdown BasicBlockContainer.swift
[44/105] Compiling Markdown BasicInlineContainer.swift
[45/105] Compiling Markdown BlockContainer.swift
[46/105] Compiling Markdown Strong.swift
[47/105] Compiling Markdown CustomInline.swift
[48/105] Compiling Markdown InlineCode.swift
[49/105] Compiling Markdown InlineHTML.swift
[50/105] Compiling Markdown LineBreak.swift
[51/105] Compiling Markdown SoftBreak.swift
[52/105] Compiling Markdown SymbolLink.swift
[53/105] Compiling Markdown ThematicBreak.swift
[54/105] Compiling Markdown Table.swift
[55/105] Compiling Markdown TableBody.swift
[56/105] Compiling Markdown TableCell.swift
[57/105] Compiling Markdown TableCellContainer.swift
[58/105] Compiling Markdown TableHead.swift
[59/105] Compiling Markdown TableRow.swift
[60/105] Compiling Markdown BlockMarkup.swift
[61/105] Compiling Markdown InlineContainer.swift
[62/105] Compiling Markdown InlineMarkup.swift
[63/105] Compiling Markdown ListItemContainer.swift
[64/105] Compiling Markdown AtomicCounter.swift
[65/105] Compiling Markdown CharacterExtensions.swift
[66/105] Compiling Markdown ListItem.swift
[67/105] Compiling Markdown OrderedList.swift
[68/105] Compiling Markdown UnorderedList.swift
[69/105] Compiling Markdown Paragraph.swift
[70/105] Compiling Markdown CodeBlock.swift
[71/105] Compiling Markdown HTMLBlock.swift
[72/105] Compiling Markdown Heading.swift
[73/105] Compiling Markdown Replacement.swift
[74/105] Compiling Markdown SourceLocation.swift
[75/105] Compiling Markdown Emphasis.swift
[76/105] Compiling Markdown Image.swift
[77/105] Compiling Markdown InlineAttributes.swift
[78/105] Compiling Markdown Link.swift
[79/105] Compiling Markdown Strikethrough.swift
[80/105] Compiling Markdown ChildIndexPath.swift
[81/105] Compiling Markdown DirectiveArgument.swift
[82/105] Compiling Markdown Document.swift
[83/105] Compiling Markdown LiteralMarkup.swift
[84/105] Compiling Markdown Markup.swift
[85/105] Compiling Markdown MarkupChildren.swift
[86/105] Compiling Markdown MarkupData.swift
[87/105] Compiling Markdown PlainTextConvertibleMarkup.swift
[88/105] Compiling Markdown RawMarkup.swift
[89/105] Compiling Markdown BlockDirective.swift
[90/105] Compiling Markdown BlockQuote.swift
[91/105] Compiling Markdown CustomBlock.swift
[92/105] Compiling Markdown DoxygenParameter.swift
[93/105] Compiling Markdown DoxygenReturns.swift
[94/105] Compiling Markdown CollectionExtensions.swift
[95/105] Compiling Markdown StringExtensions.swift
[96/105] Compiling Markdown MarkupVisitor.swift
[97/105] Compiling Markdown MarkupWalker.swift
[98/105] Compiling Markdown MarkupFormatter.swift
[99/105] Compiling Markdown MarkupTreeDumper.swift
[100/105] Compiling Markdown Text.swift
[101/105] Compiling Markdown Aside.swift
[102/105] Compiling Markdown BlockDirectiveParser.swift
[103/105] Compiling Markdown CommonMarkConverter.swift
[104/105] Compiling Markdown LazySplitLines.swift
[105/105] Compiling Markdown ParseOptions.swift
[106/127] Compiling AttributedStringBuilder CustomKeys.swift
[107/127] Compiling AttributedStringBuilder Environment.swift
[108/127] Compiling AttributedStringBuilder Footnote.swift
[109/127] Compiling AttributedStringBuilder Heading.swift
[110/127] Compiling AttributedStringBuilder Image.swift
[111/127] Compiling AttributedStringBuilder MarkdownString.swift
[112/127] Compiling AttributedStringBuilder MarkdownStylesheet.swift
[113/127] 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>
[114/127] 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>
[115/127] Compiling AttributedStringBuilder Modify.swift
[116/127] Compiling AttributedStringBuilder PDF.swift
[117/127] Compiling AttributedStringBuilder InternalLinks.swift
[118/127] Compiling AttributedStringBuilder Join.swift
[119/129] Compiling AttributedStringBuilder State.swift
[120/129] Compiling AttributedStringBuilder StringHelpers.swift
[121/129] 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>
[122/129] Compiling AttributedStringBuilder AddOutline.swift
[123/129] Compiling AttributedStringBuilder AttributedStringBuilder.swift
[124/129] Compiling AttributedStringBuilder AttributedStringConvertible.swift
[125/129] Compiling AttributedStringBuilder AttributedStringToPDF_TextKit.swift
[126/129] Compiling AttributedStringBuilder Attributes.swift
[127/129] Compiling AttributedStringBuilder Checklist.swift
[128/129] Compiling AttributedStringBuilder SwiftUI.swift
[129/129] Compiling AttributedStringBuilder Table.swift
Build complete! (15.20s)
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.