The Swift Package Index logo.Swift Package Index

Build Information

Successful build of ThinPath, reference main (e35dc2), with Swift 6.1 for macOS (SPM) on 5 Oct 2026 06:24:04 UTC.

Swift 6 data race errors: 9

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sohandotgit/ThinPath.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sohandotgit/ThinPath
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at e35dc25 Re-structure files
Cloned https://github.com/sohandotgit/ThinPath.git
Revision (git rev-parse @):
e35dc25df17b2a4a0f2dc59c17f8b15a44969211
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/sohandotgit/ThinPath.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/sohandotgit/ThinPath.git
https://github.com/sohandotgit/ThinPath.git
{
  "dependencies" : [
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "ThinPath",
  "name" : "ThinPath",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    }
  ],
  "products" : [
    {
      "name" : "ThinPath",
      "targets" : [
        "ThinPath"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ThinPathTests",
      "module_type" : "SwiftTarget",
      "name" : "ThinPathTests",
      "path" : "Tests/ThinPathTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ThinPathTests/SampleSVGs",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "ArcGeometryTests.swift",
        "BlendModeLayerTests.swift",
        "CSSMemoryTests.swift",
        "CSSSelectorTests.swift",
        "ParsingTests.swift",
        "PathDataTests.swift",
        "PatternImageMemoryTests.swift",
        "ReferenceResolverTests.swift",
        "RenderTests.swift",
        "SVGModelTests.swift",
        "SnapshotSupport.swift",
        "StyleResolverTests.swift",
        "SwiftUIWrapperTests.swift",
        "TransformsTests.swift"
      ],
      "target_dependencies" : [
        "ThinPath"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ThinPath",
      "module_type" : "SwiftTarget",
      "name" : "ThinPath",
      "path" : "Sources/ThinPath",
      "product_memberships" : [
        "ThinPath"
      ],
      "sources" : [
        "APISurface.swift",
        "Effects/ClipRenderer.swift",
        "Effects/MaskRenderer.swift",
        "Images/ImageCache.swift",
        "Images/ImageDecoder.swift",
        "Images/ImageRenderer.swift",
        "Model/SVGModel.swift",
        "Model/Transforms.swift",
        "Paint/GradientRenderer.swift",
        "Paint/PaintServer.swift",
        "Paint/PatternRenderer.swift",
        "Parsing/PathDataParser.swift",
        "Parsing/ReferenceResolver.swift",
        "Parsing/SVGParser.swift",
        "Parsing/StyleResolver.swift",
        "Rendering/PathBuilder.swift",
        "Rendering/RenderContext.swift",
        "Rendering/ShapeRenderer.swift",
        "Rendering/TextRenderer.swift",
        "Rendering/UseSymbolRenderer.swift",
        "SwiftUI/SwiftUIWrapper.swift",
        "ThinPath.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-2F0A5646E1D333AE.txt
[5/25] Emitting module ThinPath
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Images/ImageDecoder.swift:110:24: warning: static property 'sourceOptions' is not concurrency-safe because non-'Sendable' type 'CFDictionary' may have shared mutable state; this is an error in the Swift 6 language mode
108 |     /// caching in `ImageCache`; letting ImageIO cache too would double the
109 |     /// resident cost of every image invisibly.
110 |     private static let sourceOptions =
    |                        `- warning: static property 'sourceOptions' is not concurrency-safe because non-'Sendable' type 'CFDictionary' may have shared mutable state; this is an error in the Swift 6 language mode
111 |         [kCGImageSourceShouldCache: false] as CFDictionary
112 |
CoreFoundation.CFDictionary:1:14: note: class 'CFDictionary' does not conform to the 'Sendable' protocol
1 | public class CFDictionary : _CFObject {
  |              `- note: class 'CFDictionary' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Images/ImageDecoder.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 24 | //
 25 |
 26 | import CoreGraphics
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 27 | import Foundation
 28 | import ImageIO
    :
108 |     /// caching in `ImageCache`; letting ImageIO cache too would double the
109 |     /// resident cost of every image invisibly.
110 |     private static let sourceOptions =
    |                        |- note: add '@MainActor' to make static property 'sourceOptions' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |         [kCGImageSourceShouldCache: false] as CFDictionary
112 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:172:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ArenaRange' may have shared mutable state; this is an error in the Swift 6 language mode
163 | /// A (start, count) window into a side arena. Stored instead of an owned array
164 | /// so payload-bearing nodes remain fixed-size value types.
165 | public struct ArenaRange: Equatable {
    |               `- note: consider making struct 'ArenaRange' conform to the 'Sendable' protocol
166 |     public var start: Int32
167 |     public var count: Int32
    :
170 |         self.count = count
171 |     }
172 |     public static let empty = ArenaRange(start: 0, count: 0)
    |                       |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ArenaRange' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
173 |     public var isEmpty: Bool { count == 0 }
174 |     public var range: Range<Int> { Int(start) ..< Int(start + count) }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:377:23: warning: static property 'unresolved' is not concurrency-safe because non-'Sendable' type 'PaintServer' may have shared mutable state; this is an error in the Swift 6 language mode
365 | /// A reference to a paint-server element, stored by id and (if known) index.
366 | /// Never embeds the server node itself (invariant: paint servers are shared).
367 | public struct PaintServer: Equatable {
    |               `- note: consider making struct 'PaintServer' conform to the 'Sendable' protocol
368 |     /// Interned id of the referenced `<linearGradient>`/`<radialGradient>`/`<pattern>`.
369 |     public var id: StringRef
    :
375 |     }
376 |     /// The reference could not be resolved to any element.
377 |     public static let unresolved = PaintServer(id: .none, node: .none)
    |                       |- warning: static property 'unresolved' is not concurrency-safe because non-'Sendable' type 'PaintServer' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'unresolved' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
378 | }
379 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:394:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
387 | /// `CGFloat`s. Wide-gamut / ICC color is a later concern (PROFILE-CHECK in
388 | /// MemoryModel.md).
389 | public struct RGBA: Equatable, Hashable {
    |               `- note: consider making struct 'RGBA' conform to the 'Sendable' protocol
390 |     public var r: UInt8, g: UInt8, b: UInt8, a: UInt8
391 |     public init(r: UInt8, g: UInt8, b: UInt8, a: UInt8 = 255) {
392 |         self.r = r; self.g = g; self.b = b; self.a = a
393 |     }
394 |     public static let black = RGBA(r: 0, g: 0, b: 0)
    |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'black' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
395 |     public static let transparent = RGBA(r: 0, g: 0, b: 0, a: 0)
396 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:395:23: warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
387 | /// `CGFloat`s. Wide-gamut / ICC color is a later concern (PROFILE-CHECK in
388 | /// MemoryModel.md).
389 | public struct RGBA: Equatable, Hashable {
    |               `- note: consider making struct 'RGBA' conform to the 'Sendable' protocol
390 |     public var r: UInt8, g: UInt8, b: UInt8, a: UInt8
391 |     public init(r: UInt8, g: UInt8, b: UInt8, a: UInt8 = 255) {
    :
393 |     }
394 |     public static let black = RGBA(r: 0, g: 0, b: 0)
395 |     public static let transparent = RGBA(r: 0, g: 0, b: 0, a: 0)
    |                       |- warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'transparent' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
396 | }
397 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:565:23: warning: static property 'normal' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
560 | public enum Isolation { case auto, isolate }
561 |
562 | public struct FontWeight: Equatable {
    |               `- note: consider making struct 'FontWeight' conform to the 'Sendable' protocol
563 |     public var value: Int   // 100...900; normal=400, bold=700
564 |     public init(_ value: Int) { self.value = value }
565 |     public static let normal = FontWeight(400)
    |                       |- warning: static property 'normal' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'normal' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
566 |     public static let bold = FontWeight(700)
567 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:566:23: warning: static property 'bold' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
560 | public enum Isolation { case auto, isolate }
561 |
562 | public struct FontWeight: Equatable {
    |               `- note: consider making struct 'FontWeight' conform to the 'Sendable' protocol
563 |     public var value: Int   // 100...900; normal=400, bold=700
564 |     public init(_ value: Int) { self.value = value }
565 |     public static let normal = FontWeight(400)
566 |     public static let bold = FontWeight(700)
    |                       |- warning: static property 'bold' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'bold' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
567 | }
568 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/Transforms.swift:42:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PreserveAspectRatio' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |
 21 | /// `preserveAspectRatio="[defer] <align> [<meetOrSlice>]"`.
 22 | public struct PreserveAspectRatio: Equatable {
    |               `- note: consider making struct 'PreserveAspectRatio' conform to the 'Sendable' protocol
 23 |     public enum Align: Equatable {
 24 |         case none                 // "none" — non-uniform scale, fill the viewport
    :
 40 |
 41 |     /// The SVG default: `xMidYMid meet`.
 42 |     public static let `default` = PreserveAspectRatio()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PreserveAspectRatio' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 | }
 44 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Parsing/StyleResolver.swift:84:23: warning: static property 'initial' is not concurrency-safe because non-'Sendable' type 'ComputedStyle' may have shared mutable state; this is an error in the Swift 6 language mode
 40 | /// Collapsing these loses correct results whenever fill and stroke overlap, so
 41 | /// they are kept distinct here and combined only at paint time.
 42 | public struct ComputedStyle: Equatable {
    |               `- note: consider making struct 'ComputedStyle' conform to the 'Sendable' protocol
 43 |     // Paint
 44 |     public var fill: Paint
    :
 82 |     /// are the values an element gets when a property is neither specified nor
 83 |     /// inherited.
 84 |     public static let initial = ComputedStyle(
    |                       |- warning: static property 'initial' is not concurrency-safe because non-'Sendable' type 'ComputedStyle' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'initial' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 85 |         fill: .color(.black),          // initial fill is black
 86 |         stroke: .none,                 // initial stroke is none
[6/27] Compiling ThinPath APISurface.swift
[7/27] Compiling ThinPath ClipRenderer.swift
[8/27] Compiling ThinPath MaskRenderer.swift
[9/27] Compiling ThinPath StyleResolver.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Parsing/StyleResolver.swift:84:23: warning: static property 'initial' is not concurrency-safe because non-'Sendable' type 'ComputedStyle' may have shared mutable state; this is an error in the Swift 6 language mode
 40 | /// Collapsing these loses correct results whenever fill and stroke overlap, so
 41 | /// they are kept distinct here and combined only at paint time.
 42 | public struct ComputedStyle: Equatable {
    |               `- note: consider making struct 'ComputedStyle' conform to the 'Sendable' protocol
 43 |     // Paint
 44 |     public var fill: Paint
    :
 82 |     /// are the values an element gets when a property is neither specified nor
 83 |     /// inherited.
 84 |     public static let initial = ComputedStyle(
    |                       |- warning: static property 'initial' is not concurrency-safe because non-'Sendable' type 'ComputedStyle' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'initial' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 85 |         fill: .color(.black),          // initial fill is black
 86 |         stroke: .none,                 // initial stroke is none
[10/27] Compiling ThinPath PathBuilder.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Parsing/StyleResolver.swift:84:23: warning: static property 'initial' is not concurrency-safe because non-'Sendable' type 'ComputedStyle' may have shared mutable state; this is an error in the Swift 6 language mode
 40 | /// Collapsing these loses correct results whenever fill and stroke overlap, so
 41 | /// they are kept distinct here and combined only at paint time.
 42 | public struct ComputedStyle: Equatable {
    |               `- note: consider making struct 'ComputedStyle' conform to the 'Sendable' protocol
 43 |     // Paint
 44 |     public var fill: Paint
    :
 82 |     /// are the values an element gets when a property is neither specified nor
 83 |     /// inherited.
 84 |     public static let initial = ComputedStyle(
    |                       |- warning: static property 'initial' is not concurrency-safe because non-'Sendable' type 'ComputedStyle' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'initial' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 85 |         fill: .color(.black),          // initial fill is black
 86 |         stroke: .none,                 // initial stroke is none
[11/27] Compiling ThinPath PatternRenderer.swift
[12/27] Compiling ThinPath PathDataParser.swift
[13/27] Compiling ThinPath SVGModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:172:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ArenaRange' may have shared mutable state; this is an error in the Swift 6 language mode
163 | /// A (start, count) window into a side arena. Stored instead of an owned array
164 | /// so payload-bearing nodes remain fixed-size value types.
165 | public struct ArenaRange: Equatable {
    |               `- note: consider making struct 'ArenaRange' conform to the 'Sendable' protocol
166 |     public var start: Int32
167 |     public var count: Int32
    :
170 |         self.count = count
171 |     }
172 |     public static let empty = ArenaRange(start: 0, count: 0)
    |                       |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ArenaRange' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
173 |     public var isEmpty: Bool { count == 0 }
174 |     public var range: Range<Int> { Int(start) ..< Int(start + count) }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:377:23: warning: static property 'unresolved' is not concurrency-safe because non-'Sendable' type 'PaintServer' may have shared mutable state; this is an error in the Swift 6 language mode
365 | /// A reference to a paint-server element, stored by id and (if known) index.
366 | /// Never embeds the server node itself (invariant: paint servers are shared).
367 | public struct PaintServer: Equatable {
    |               `- note: consider making struct 'PaintServer' conform to the 'Sendable' protocol
368 |     /// Interned id of the referenced `<linearGradient>`/`<radialGradient>`/`<pattern>`.
369 |     public var id: StringRef
    :
375 |     }
376 |     /// The reference could not be resolved to any element.
377 |     public static let unresolved = PaintServer(id: .none, node: .none)
    |                       |- warning: static property 'unresolved' is not concurrency-safe because non-'Sendable' type 'PaintServer' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'unresolved' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
378 | }
379 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:394:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
387 | /// `CGFloat`s. Wide-gamut / ICC color is a later concern (PROFILE-CHECK in
388 | /// MemoryModel.md).
389 | public struct RGBA: Equatable, Hashable {
    |               `- note: consider making struct 'RGBA' conform to the 'Sendable' protocol
390 |     public var r: UInt8, g: UInt8, b: UInt8, a: UInt8
391 |     public init(r: UInt8, g: UInt8, b: UInt8, a: UInt8 = 255) {
392 |         self.r = r; self.g = g; self.b = b; self.a = a
393 |     }
394 |     public static let black = RGBA(r: 0, g: 0, b: 0)
    |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'black' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
395 |     public static let transparent = RGBA(r: 0, g: 0, b: 0, a: 0)
396 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:395:23: warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
387 | /// `CGFloat`s. Wide-gamut / ICC color is a later concern (PROFILE-CHECK in
388 | /// MemoryModel.md).
389 | public struct RGBA: Equatable, Hashable {
    |               `- note: consider making struct 'RGBA' conform to the 'Sendable' protocol
390 |     public var r: UInt8, g: UInt8, b: UInt8, a: UInt8
391 |     public init(r: UInt8, g: UInt8, b: UInt8, a: UInt8 = 255) {
    :
393 |     }
394 |     public static let black = RGBA(r: 0, g: 0, b: 0)
395 |     public static let transparent = RGBA(r: 0, g: 0, b: 0, a: 0)
    |                       |- warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'transparent' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
396 | }
397 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:565:23: warning: static property 'normal' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
560 | public enum Isolation { case auto, isolate }
561 |
562 | public struct FontWeight: Equatable {
    |               `- note: consider making struct 'FontWeight' conform to the 'Sendable' protocol
563 |     public var value: Int   // 100...900; normal=400, bold=700
564 |     public init(_ value: Int) { self.value = value }
565 |     public static let normal = FontWeight(400)
    |                       |- warning: static property 'normal' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'normal' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
566 |     public static let bold = FontWeight(700)
567 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:566:23: warning: static property 'bold' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
560 | public enum Isolation { case auto, isolate }
561 |
562 | public struct FontWeight: Equatable {
    |               `- note: consider making struct 'FontWeight' conform to the 'Sendable' protocol
563 |     public var value: Int   // 100...900; normal=400, bold=700
564 |     public init(_ value: Int) { self.value = value }
565 |     public static let normal = FontWeight(400)
566 |     public static let bold = FontWeight(700)
    |                       |- warning: static property 'bold' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'bold' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
567 | }
568 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/Transforms.swift:42:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PreserveAspectRatio' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |
 21 | /// `preserveAspectRatio="[defer] <align> [<meetOrSlice>]"`.
 22 | public struct PreserveAspectRatio: Equatable {
    |               `- note: consider making struct 'PreserveAspectRatio' conform to the 'Sendable' protocol
 23 |     public enum Align: Equatable {
 24 |         case none                 // "none" — non-uniform scale, fill the viewport
    :
 40 |
 41 |     /// The SVG default: `xMidYMid meet`.
 42 |     public static let `default` = PreserveAspectRatio()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PreserveAspectRatio' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 | }
 44 |
[14/27] Compiling ThinPath Transforms.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:172:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ArenaRange' may have shared mutable state; this is an error in the Swift 6 language mode
163 | /// A (start, count) window into a side arena. Stored instead of an owned array
164 | /// so payload-bearing nodes remain fixed-size value types.
165 | public struct ArenaRange: Equatable {
    |               `- note: consider making struct 'ArenaRange' conform to the 'Sendable' protocol
166 |     public var start: Int32
167 |     public var count: Int32
    :
170 |         self.count = count
171 |     }
172 |     public static let empty = ArenaRange(start: 0, count: 0)
    |                       |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ArenaRange' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
173 |     public var isEmpty: Bool { count == 0 }
174 |     public var range: Range<Int> { Int(start) ..< Int(start + count) }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:377:23: warning: static property 'unresolved' is not concurrency-safe because non-'Sendable' type 'PaintServer' may have shared mutable state; this is an error in the Swift 6 language mode
365 | /// A reference to a paint-server element, stored by id and (if known) index.
366 | /// Never embeds the server node itself (invariant: paint servers are shared).
367 | public struct PaintServer: Equatable {
    |               `- note: consider making struct 'PaintServer' conform to the 'Sendable' protocol
368 |     /// Interned id of the referenced `<linearGradient>`/`<radialGradient>`/`<pattern>`.
369 |     public var id: StringRef
    :
375 |     }
376 |     /// The reference could not be resolved to any element.
377 |     public static let unresolved = PaintServer(id: .none, node: .none)
    |                       |- warning: static property 'unresolved' is not concurrency-safe because non-'Sendable' type 'PaintServer' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'unresolved' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
378 | }
379 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:394:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
387 | /// `CGFloat`s. Wide-gamut / ICC color is a later concern (PROFILE-CHECK in
388 | /// MemoryModel.md).
389 | public struct RGBA: Equatable, Hashable {
    |               `- note: consider making struct 'RGBA' conform to the 'Sendable' protocol
390 |     public var r: UInt8, g: UInt8, b: UInt8, a: UInt8
391 |     public init(r: UInt8, g: UInt8, b: UInt8, a: UInt8 = 255) {
392 |         self.r = r; self.g = g; self.b = b; self.a = a
393 |     }
394 |     public static let black = RGBA(r: 0, g: 0, b: 0)
    |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'black' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
395 |     public static let transparent = RGBA(r: 0, g: 0, b: 0, a: 0)
396 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:395:23: warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
387 | /// `CGFloat`s. Wide-gamut / ICC color is a later concern (PROFILE-CHECK in
388 | /// MemoryModel.md).
389 | public struct RGBA: Equatable, Hashable {
    |               `- note: consider making struct 'RGBA' conform to the 'Sendable' protocol
390 |     public var r: UInt8, g: UInt8, b: UInt8, a: UInt8
391 |     public init(r: UInt8, g: UInt8, b: UInt8, a: UInt8 = 255) {
    :
393 |     }
394 |     public static let black = RGBA(r: 0, g: 0, b: 0)
395 |     public static let transparent = RGBA(r: 0, g: 0, b: 0, a: 0)
    |                       |- warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'RGBA' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'transparent' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
396 | }
397 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:565:23: warning: static property 'normal' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
560 | public enum Isolation { case auto, isolate }
561 |
562 | public struct FontWeight: Equatable {
    |               `- note: consider making struct 'FontWeight' conform to the 'Sendable' protocol
563 |     public var value: Int   // 100...900; normal=400, bold=700
564 |     public init(_ value: Int) { self.value = value }
565 |     public static let normal = FontWeight(400)
    |                       |- warning: static property 'normal' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'normal' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
566 |     public static let bold = FontWeight(700)
567 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:566:23: warning: static property 'bold' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
560 | public enum Isolation { case auto, isolate }
561 |
562 | public struct FontWeight: Equatable {
    |               `- note: consider making struct 'FontWeight' conform to the 'Sendable' protocol
563 |     public var value: Int   // 100...900; normal=400, bold=700
564 |     public init(_ value: Int) { self.value = value }
565 |     public static let normal = FontWeight(400)
566 |     public static let bold = FontWeight(700)
    |                       |- warning: static property 'bold' is not concurrency-safe because non-'Sendable' type 'FontWeight' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'bold' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
567 | }
568 |
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/Transforms.swift:42:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PreserveAspectRatio' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |
 21 | /// `preserveAspectRatio="[defer] <align> [<meetOrSlice>]"`.
 22 | public struct PreserveAspectRatio: Equatable {
    |               `- note: consider making struct 'PreserveAspectRatio' conform to the 'Sendable' protocol
 23 |     public enum Align: Equatable {
 24 |         case none                 // "none" — non-uniform scale, fill the viewport
    :
 40 |
 41 |     /// The SVG default: `xMidYMid meet`.
 42 |     public static let `default` = PreserveAspectRatio()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PreserveAspectRatio' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 | }
 44 |
[15/27] Compiling ThinPath ImageCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Images/ImageDecoder.swift:110:24: warning: static property 'sourceOptions' is not concurrency-safe because non-'Sendable' type 'CFDictionary' may have shared mutable state; this is an error in the Swift 6 language mode
108 |     /// caching in `ImageCache`; letting ImageIO cache too would double the
109 |     /// resident cost of every image invisibly.
110 |     private static let sourceOptions =
    |                        `- warning: static property 'sourceOptions' is not concurrency-safe because non-'Sendable' type 'CFDictionary' may have shared mutable state; this is an error in the Swift 6 language mode
111 |         [kCGImageSourceShouldCache: false] as CFDictionary
112 |
CoreFoundation.CFDictionary:1:14: note: class 'CFDictionary' does not conform to the 'Sendable' protocol
1 | public class CFDictionary : _CFObject {
  |              `- note: class 'CFDictionary' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Images/ImageDecoder.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 24 | //
 25 |
 26 | import CoreGraphics
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 27 | import Foundation
 28 | import ImageIO
    :
108 |     /// caching in `ImageCache`; letting ImageIO cache too would double the
109 |     /// resident cost of every image invisibly.
110 |     private static let sourceOptions =
    |                        |- note: add '@MainActor' to make static property 'sourceOptions' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |         [kCGImageSourceShouldCache: false] as CFDictionary
112 |
[16/27] Compiling ThinPath ImageDecoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Images/ImageDecoder.swift:110:24: warning: static property 'sourceOptions' is not concurrency-safe because non-'Sendable' type 'CFDictionary' may have shared mutable state; this is an error in the Swift 6 language mode
108 |     /// caching in `ImageCache`; letting ImageIO cache too would double the
109 |     /// resident cost of every image invisibly.
110 |     private static let sourceOptions =
    |                        `- warning: static property 'sourceOptions' is not concurrency-safe because non-'Sendable' type 'CFDictionary' may have shared mutable state; this is an error in the Swift 6 language mode
111 |         [kCGImageSourceShouldCache: false] as CFDictionary
112 |
CoreFoundation.CFDictionary:1:14: note: class 'CFDictionary' does not conform to the 'Sendable' protocol
1 | public class CFDictionary : _CFObject {
  |              `- note: class 'CFDictionary' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Images/ImageDecoder.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 24 | //
 25 |
 26 | import CoreGraphics
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 27 | import Foundation
 28 | import ImageIO
    :
108 |     /// caching in `ImageCache`; letting ImageIO cache too would double the
109 |     /// resident cost of every image invisibly.
110 |     private static let sourceOptions =
    |                        |- note: add '@MainActor' to make static property 'sourceOptions' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |         [kCGImageSourceShouldCache: false] as CFDictionary
112 |
[17/27] Compiling ThinPath ImageRenderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Images/ImageDecoder.swift:110:24: warning: static property 'sourceOptions' is not concurrency-safe because non-'Sendable' type 'CFDictionary' may have shared mutable state; this is an error in the Swift 6 language mode
108 |     /// caching in `ImageCache`; letting ImageIO cache too would double the
109 |     /// resident cost of every image invisibly.
110 |     private static let sourceOptions =
    |                        `- warning: static property 'sourceOptions' is not concurrency-safe because non-'Sendable' type 'CFDictionary' may have shared mutable state; this is an error in the Swift 6 language mode
111 |         [kCGImageSourceShouldCache: false] as CFDictionary
112 |
CoreFoundation.CFDictionary:1:14: note: class 'CFDictionary' does not conform to the 'Sendable' protocol
1 | public class CFDictionary : _CFObject {
  |              `- note: class 'CFDictionary' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Images/ImageDecoder.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 24 | //
 25 |
 26 | import CoreGraphics
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 27 | import Foundation
 28 | import ImageIO
    :
108 |     /// caching in `ImageCache`; letting ImageIO cache too would double the
109 |     /// resident cost of every image invisibly.
110 |     private static let sourceOptions =
    |                        |- note: add '@MainActor' to make static property 'sourceOptions' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |         [kCGImageSourceShouldCache: false] as CFDictionary
112 |
[18/27] Compiling ThinPath GradientRenderer.swift
[19/27] Compiling ThinPath PaintServer.swift
[20/27] Compiling ThinPath TextRenderer.swift
[21/27] Compiling ThinPath UseSymbolRenderer.swift
[22/27] Compiling ThinPath ReferenceResolver.swift
[23/27] Compiling ThinPath SVGParser.swift
[24/27] Compiling ThinPath RenderContext.swift
[25/27] Compiling ThinPath ShapeRenderer.swift
[26/27] Compiling ThinPath SwiftUIWrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/SwiftUI/SwiftUIWrapper.swift:207:21: warning: capture of 'document' with non-sendable type 'SVGDocument' in a '@Sendable' closure
205 |             ThinPathRasterizer.queue.async {
206 |                 continuation.resume(returning: ThinPathRasterizer.raster(
207 |                     document, size: size, scale: scale,
    |                     `- warning: capture of 'document' with non-sendable type 'SVGDocument' in a '@Sendable' closure
208 |                     preserveAspectRatio: document.rootPreserveAspectRatio))
209 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:83:15: note: consider making struct 'SVGDocument' conform to the 'Sendable' protocol
 81 | ///    per the SVG rule that a document has at most one element per id (last-wins
 82 | ///    is a parser policy, documented there).
 83 | public struct SVGDocument {
    |               `- note: consider making struct 'SVGDocument' conform to the 'Sendable' protocol
 84 |
 85 |     /// The flat node arena. Index 0 is not special; `root` names the tree root.
[27/27] Compiling ThinPath ThinPath.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/SwiftUI/SwiftUIWrapper.swift:207:21: warning: capture of 'document' with non-sendable type 'SVGDocument' in a '@Sendable' closure
205 |             ThinPathRasterizer.queue.async {
206 |                 continuation.resume(returning: ThinPathRasterizer.raster(
207 |                     document, size: size, scale: scale,
    |                     `- warning: capture of 'document' with non-sendable type 'SVGDocument' in a '@Sendable' closure
208 |                     preserveAspectRatio: document.rootPreserveAspectRatio))
209 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ThinPath/Model/SVGModel.swift:83:15: note: consider making struct 'SVGDocument' conform to the 'Sendable' protocol
 81 | ///    per the SVG rule that a document has at most one element per id (last-wins
 82 | ///    is a parser policy, documented there).
 83 | public struct SVGDocument {
    |               `- note: consider making struct 'SVGDocument' conform to the 'Sendable' protocol
 84 |
 85 |     /// The flat node arena. Index 0 is not special; `root` names the tree root.
Build complete! (25.95s)
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.81s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (4.26s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.01s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.70s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "ThinPath",
  "name" : "ThinPath",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    }
  ],
  "products" : [
    {
      "name" : "ThinPath",
      "targets" : [
        "ThinPath"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ThinPathTests",
      "module_type" : "SwiftTarget",
      "name" : "ThinPathTests",
      "path" : "Tests/ThinPathTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ThinPathTests/SampleSVGs",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "ArcGeometryTests.swift",
        "BlendModeLayerTests.swift",
        "CSSMemoryTests.swift",
        "CSSSelectorTests.swift",
        "ParsingTests.swift",
        "PathDataTests.swift",
        "PatternImageMemoryTests.swift",
        "ReferenceResolverTests.swift",
        "RenderTests.swift",
        "SVGModelTests.swift",
        "SnapshotSupport.swift",
        "StyleResolverTests.swift",
        "SwiftUIWrapperTests.swift",
        "TransformsTests.swift"
      ],
      "target_dependencies" : [
        "ThinPath"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ThinPath",
      "module_type" : "SwiftTarget",
      "name" : "ThinPath",
      "path" : "Sources/ThinPath",
      "product_memberships" : [
        "ThinPath"
      ],
      "sources" : [
        "APISurface.swift",
        "Effects/ClipRenderer.swift",
        "Effects/MaskRenderer.swift",
        "Images/ImageCache.swift",
        "Images/ImageDecoder.swift",
        "Images/ImageRenderer.swift",
        "Model/SVGModel.swift",
        "Model/Transforms.swift",
        "Paint/GradientRenderer.swift",
        "Paint/PaintServer.swift",
        "Paint/PatternRenderer.swift",
        "Parsing/PathDataParser.swift",
        "Parsing/ReferenceResolver.swift",
        "Parsing/SVGParser.swift",
        "Parsing/StyleResolver.swift",
        "Rendering/PathBuilder.swift",
        "Rendering/RenderContext.swift",
        "Rendering/ShapeRenderer.swift",
        "Rendering/TextRenderer.swift",
        "Rendering/UseSymbolRenderer.swift",
        "SwiftUI/SwiftUIWrapper.swift",
        "ThinPath.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.