The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of SwiftSubtitles, reference 1.8.2 (aaa309), with Swift 6.0 for macOS (SPM) on 19 Dec 2024 01:51:07 UTC.

Swift 6 data race errors: 10

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.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: 4.59.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dagronf/SwiftSubtitles.git
Reference: 1.8.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dagronf/SwiftSubtitles
 * tag               1.8.2      -> FETCH_HEAD
HEAD is now at aaa3093 Fixed bug #13 (https://github.com/dagronf/SwiftSubtitles/issues/13)
Cloned https://github.com/dagronf/SwiftSubtitles.git
Revision (git rev-parse @):
aaa309326c2b8bfb52b7fdfabb1a43820c2e26b2
SUCCESS checkout https://github.com/dagronf/SwiftSubtitles.git at 1.8.2
Fetching https://github.com/dagronf/DSFRegex
Fetching https://github.com/dagronf/TinyCSV
[1/220] Fetching dsfregex
[114/497] Fetching dsfregex, tinycsv
Fetched https://github.com/dagronf/DSFRegex from cache (0.97s)
Fetched https://github.com/dagronf/TinyCSV from cache (0.97s)
Computing version for https://github.com/dagronf/TinyCSV
Computed https://github.com/dagronf/TinyCSV at 1.0.0 (0.55s)
Computing version for https://github.com/dagronf/DSFRegex
Computed https://github.com/dagronf/DSFRegex at 3.4.0 (0.54s)
Creating working copy for https://github.com/dagronf/DSFRegex
Working copy of https://github.com/dagronf/DSFRegex resolved at 3.4.0
Creating working copy for https://github.com/dagronf/TinyCSV
Working copy of https://github.com/dagronf/TinyCSV resolved at 1.0.0
========================================
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",
  "dependencies": [
    {
      "identity": "swiftsubtitles",
      "name": "SwiftSubtitles",
      "url": "https://github.com/dagronf/SwiftSubtitles.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftSubtitles",
      "dependencies": [
        {
          "identity": "dsfregex",
          "name": "DSFRegex",
          "url": "https://github.com/dagronf/DSFRegex",
          "version": "3.4.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/DSFRegex",
          "dependencies": [
          ]
        },
        {
          "identity": "tinycsv",
          "name": "TinyCSV",
          "url": "https://github.com/dagronf/TinyCSV",
          "version": "1.0.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/TinyCSV",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/dagronf/SwiftSubtitles.git
[10/986] Fetching swiftsubtitles
Fetched https://github.com/dagronf/SwiftSubtitles.git from cache (1.14s)
Fetching https://github.com/dagronf/DSFRegex from cache
Fetching https://github.com/dagronf/TinyCSV from cache
Fetched https://github.com/dagronf/DSFRegex from cache (0.46s)
Fetched https://github.com/dagronf/TinyCSV from cache (0.46s)
Computing version for https://github.com/dagronf/TinyCSV
Computed https://github.com/dagronf/TinyCSV at 1.0.1 (0.02s)
Computing version for https://github.com/dagronf/DSFRegex
Computed https://github.com/dagronf/DSFRegex at 3.4.0 (0.02s)
Creating working copy for https://github.com/dagronf/DSFRegex
Working copy of https://github.com/dagronf/DSFRegex resolved at 3.4.0
Creating working copy for https://github.com/dagronf/TinyCSV
Working copy of https://github.com/dagronf/TinyCSV resolved at 1.0.1
Creating working copy for https://github.com/dagronf/SwiftSubtitles.git
Working copy of https://github.com/dagronf/SwiftSubtitles.git resolved at 1.8.2 (aaa3093)
warning: '.resolve-product-dependencies': dependency 'swiftsubtitles' is not used by any target
Found 2 product dependencies
  - DSFRegex
  - TinyCSV
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/dagronf/SwiftSubtitles.git
https://github.com/dagronf/SwiftSubtitles.git
{
  "dependencies" : [
    {
      "identity" : "dsfregex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.3.1",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dagronf/DSFRegex"
    },
    {
      "identity" : "tinycsv",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "1.1.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dagronf/TinyCSV"
    }
  ],
  "manifest_display_name" : "SwiftSubtitles",
  "name" : "SwiftSubtitles",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftSubtitles",
      "targets" : [
        "SwiftSubtitles"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftSubtitlesTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSubtitlesTests",
      "path" : "Tests/SwiftSubtitlesTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/captions_edited.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/stby.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/ZUTOMAYO - Can't Be Right.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/espresso.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/sample.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/starwars-demo.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions-LE.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/26-transcript.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/Teenage+Mutant+Ninja+Turtles.1990.Blu-ray.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/utf16-test.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/zorro.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sub/97620.sub",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/crash_13.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample-big5.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/simple-sample-rn.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/speakers1.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/upc-video-subtitles-en.vtt",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "BugTests.swift",
        "CSVTests.swift",
        "CommonTests.swift",
        "JSONTests.swift",
        "LRCTests.swift",
        "PodcastIndexTests.swift",
        "SBVTests.swift",
        "SRTTests.swift",
        "SUBTests.swift",
        "TestUtils.swift",
        "TimeShiftingTests.swift",
        "VTTTests.swift"
      ],
      "target_dependencies" : [
        "SwiftSubtitles"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftSubtitles",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSubtitles",
      "path" : "Sources/SwiftSubtitles",
      "product_dependencies" : [
        "DSFRegex",
        "TinyCSV"
      ],
      "product_memberships" : [
        "SwiftSubtitles"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Subtitles+codable.swift",
        "Subtitles+cue.swift",
        "Subtitles+error.swift",
        "Subtitles+time.swift",
        "Subtitles.swift",
        "coding/CSV.swift",
        "coding/JSON.swift",
        "coding/LRC.swift",
        "coding/PodcastsIndex.swift",
        "coding/SBV.swift",
        "coding/SRT.swift",
        "coding/SUB.swift",
        "coding/VTT.swift",
        "private/Identifier.swift",
        "private/String+BOM.swift",
        "private/String+extensions.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.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
Building for debugging...
[0/7] Write sources
[3/7] Copying PrivacyInfo.xcprivacy
[6/7] Write swift-version-5BDAB9E9C0126B9D.txt
[8/21] Compiling TinyCSV resource_bundle_accessor.swift
[9/21] Compiling TinyCSV TinyCSV+Delimiter.swift
[10/21] Emitting module TinyCSV
[11/21] Compiling TinyCSV TinyCSV+Decode.swift
[12/21] Compiling DSFRegex String+CursorExtensions.swift
[13/21] Compiling DSFRegex resource_bundle_accessor.swift
[14/21] Emitting module DSFRegex
[15/21] Compiling DSFRegex DSFRegex.swift
[16/21] Compiling TinyCSV TinyCSV+EventDrivenDecoder.swift
[17/21] Compiling TinyCSV TinyCSV+Decoder.swift
[18/21] Compiling TinyCSV TinyCSVData.swift
[19/21] Compiling TinyCSV TinyCSV+Encode.swift
[20/21] Compiling TinyCSV TinyCSV.swift
[21/21] Compiling TinyCSV TinyCSV+Parsing.swift
[22/38] Compiling SwiftSubtitles String+BOM.swift
[23/38] Compiling SwiftSubtitles String+extensions.swift
[24/39] Compiling SwiftSubtitles resource_bundle_accessor.swift
[25/39] Compiling SwiftSubtitles SRT.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:50:13: warning: let 'SRTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 48 |
 49 | /// Regex for matching an SRT time string
 50 | private let SRTTimeRegex__ = try! DSFRegex(#"(\d+):(\d{1,2}):(\d{1,2}),(\d{3})\s-->\s(\d+):(\d{2}):(\d{1,2}),(\d{3})"#)
    |             `- warning: let 'SRTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | public extension Subtitles.Coder.SRT {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:27:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 25 | //
 26 |
 27 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 28 | import Foundation
 29 |
    :
 48 |
 49 | /// Regex for matching an SRT time string
 50 | private let SRTTimeRegex__ = try! DSFRegex(#"(\d+):(\d{1,2}):(\d{1,2}),(\d{3})\s-->\s(\d+):(\d{2}):(\d{1,2}),(\d{3})"#)
    |             |- note: annotate 'SRTTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 | public extension Subtitles.Coder.SRT {
[26/39] Compiling SwiftSubtitles SUB.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:50:13: warning: let 'SRTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 48 |
 49 | /// Regex for matching an SRT time string
 50 | private let SRTTimeRegex__ = try! DSFRegex(#"(\d+):(\d{1,2}):(\d{1,2}),(\d{3})\s-->\s(\d+):(\d{2}):(\d{1,2}),(\d{3})"#)
    |             `- warning: let 'SRTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | public extension Subtitles.Coder.SRT {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:27:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 25 | //
 26 |
 27 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 28 | import Foundation
 29 |
    :
 48 |
 49 | /// Regex for matching an SRT time string
 50 | private let SRTTimeRegex__ = try! DSFRegex(#"(\d+):(\d{1,2}):(\d{1,2}),(\d{3})\s-->\s(\d+):(\d{2}):(\d{1,2}),(\d{3})"#)
    |             |- note: annotate 'SRTTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 | public extension Subtitles.Coder.SRT {
[27/39] Compiling SwiftSubtitles VTT.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:53:13: warning: let 'VTTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | /// The time matching regex
 53 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
    |             `- warning: let 'VTTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 54 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 55 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:27:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 25 | //
 26 |
 27 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 28 | import Foundation
 29 |
    :
 51 |
 52 | /// The time matching regex
 53 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
    |             |- note: annotate 'VTTTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 55 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:55:13: warning: let 'VTTSpeakerRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 53 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
 54 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 55 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
    |             |- warning: let 'VTTSpeakerRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'VTTSpeakerRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 56 |
 57 | public extension Subtitles.Coder.VTT {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
[28/39] Compiling SwiftSubtitles Identifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:53:13: warning: let 'VTTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | /// The time matching regex
 53 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
    |             `- warning: let 'VTTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 54 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 55 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:27:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 25 | //
 26 |
 27 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 28 | import Foundation
 29 |
    :
 51 |
 52 | /// The time matching regex
 53 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
    |             |- note: annotate 'VTTTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 55 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:55:13: warning: let 'VTTSpeakerRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 53 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
 54 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 55 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
    |             |- warning: let 'VTTSpeakerRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'VTTSpeakerRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 56 |
 57 | public extension Subtitles.Coder.VTT {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
[29/39] Compiling SwiftSubtitles PodcastsIndex.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:52:13: warning: let 'SBVTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 50 |
 51 | /// Regex for matching an SBV time string
 52 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             `- warning: let 'SBVTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 53 |
 54 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:27:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 25 | //
 26 |
 27 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 28 | import Foundation
 29 |
    :
 50 |
 51 | /// Regex for matching an SBV time string
 52 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             |- note: annotate 'SBVTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |
 54 |
[30/39] Compiling SwiftSubtitles SBV.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:52:13: warning: let 'SBVTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 50 |
 51 | /// Regex for matching an SBV time string
 52 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             `- warning: let 'SBVTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 53 |
 54 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:27:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 25 | //
 26 |
 27 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 28 | import Foundation
 29 |
    :
 50 |
 51 | /// Regex for matching an SBV time string
 52 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             |- note: annotate 'SBVTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |
 54 |
[31/39] Compiling SwiftSubtitles JSON.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/LRC.swift:122:13: warning: let 'LRCTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// Regex for matching an LRC time string
122 | private let LRCTimeRegex__ = try! DSFRegex(#"\[(\d{2})\:(\d{2})\.(\d{2,3})\]+"#)
    |             `- warning: let 'LRCTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
123 |
124 | public extension Subtitles.Coder.LRC {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/LRC.swift:31:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 29 | //  https://www.lyricsify.com
 30 |
 31 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 32 | import Foundation
 33 |
    :
120 |
121 | /// Regex for matching an LRC time string
122 | private let LRCTimeRegex__ = try! DSFRegex(#"\[(\d{2})\:(\d{2})\.(\d{2,3})\]+"#)
    |             |- note: annotate 'LRCTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 | public extension Subtitles.Coder.LRC {
[32/39] Compiling SwiftSubtitles LRC.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/LRC.swift:122:13: warning: let 'LRCTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// Regex for matching an LRC time string
122 | private let LRCTimeRegex__ = try! DSFRegex(#"\[(\d{2})\:(\d{2})\.(\d{2,3})\]+"#)
    |             `- warning: let 'LRCTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
123 |
124 | public extension Subtitles.Coder.LRC {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/LRC.swift:31:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 29 | //  https://www.lyricsify.com
 30 |
 31 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 32 | import Foundation
 33 |
    :
120 |
121 | /// Regex for matching an LRC time string
122 | private let LRCTimeRegex__ = try! DSFRegex(#"\[(\d{2})\:(\d{2})\.(\d{2,3})\]+"#)
    |             |- note: annotate 'LRCTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 | public extension Subtitles.Coder.LRC {
[33/39] Compiling SwiftSubtitles Subtitles.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles.swift:32:20: warning: static property 'empty' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 | public struct Subtitles: Equatable, Codable {
 31 |
 32 | 	public static var empty: Subtitles = Subtitles([])
    |                    |- warning: static property 'empty' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'empty' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: annotate 'empty' with '@MainActor' if property should only be accessed from the main actor
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |
 34 | 	/// Do we have any cues
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:76:21: warning: static property 'DefaultFields' is not concurrency-safe because non-'Sendable' type '[Subtitles.Coder.CSV.Field]' may have shared mutable state; this is an error in the Swift 6 language mode
 52 | 		///
 53 | 		/// The column title is only used for encoding (ignored during decoding)
 54 | 		public enum Field {
    |               `- note: consider making enum 'Field' conform to the 'Sendable' protocol
 55 | 			/// The cue's identifier
 56 | 			case identifier(title: String)
    :
 74 |
 75 | 		/// Default expected field order
 76 | 		public static let DefaultFields: [Field] = [
    |                     |- warning: static property 'DefaultFields' is not concurrency-safe because non-'Sendable' type '[Subtitles.Coder.CSV.Field]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'DefaultFields' with '@MainActor' if property should only be accessed from the main actor
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 | 			.position(title: "No."),
 78 | 			.startTime(title: "Timecode In"),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:325:13: warning: static property 'CSVTimeFormat__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
323 | 	// h m s ms
324 | 	//  00:00:00[.,:]000
325 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             `- warning: static property 'CSVTimeFormat__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
326 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
327 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:28:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 |
 27 | import Foundation
 28 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 29 | import TinyCSV
 30 |
    :
323 | 	// h m s ms
324 | 	//  00:00:00[.,:]000
325 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             |- note: annotate 'CSVTimeFormat__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
326 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
327 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:326:13: warning: static property 'CSVTimeFormatTens__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
324 | 	//  00:00:00[.,:]000
325 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
326 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
    |             |- warning: static property 'CSVTimeFormatTens__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'CSVTimeFormatTens__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
327 |
328 | 	func parseTime(index: Int, timeString: String) throws -> Subtitles.Time {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
[34/39] Compiling SwiftSubtitles CSV.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles.swift:32:20: warning: static property 'empty' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 | public struct Subtitles: Equatable, Codable {
 31 |
 32 | 	public static var empty: Subtitles = Subtitles([])
    |                    |- warning: static property 'empty' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'empty' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: annotate 'empty' with '@MainActor' if property should only be accessed from the main actor
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |
 34 | 	/// Do we have any cues
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:76:21: warning: static property 'DefaultFields' is not concurrency-safe because non-'Sendable' type '[Subtitles.Coder.CSV.Field]' may have shared mutable state; this is an error in the Swift 6 language mode
 52 | 		///
 53 | 		/// The column title is only used for encoding (ignored during decoding)
 54 | 		public enum Field {
    |               `- note: consider making enum 'Field' conform to the 'Sendable' protocol
 55 | 			/// The cue's identifier
 56 | 			case identifier(title: String)
    :
 74 |
 75 | 		/// Default expected field order
 76 | 		public static let DefaultFields: [Field] = [
    |                     |- warning: static property 'DefaultFields' is not concurrency-safe because non-'Sendable' type '[Subtitles.Coder.CSV.Field]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'DefaultFields' with '@MainActor' if property should only be accessed from the main actor
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 | 			.position(title: "No."),
 78 | 			.startTime(title: "Timecode In"),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:325:13: warning: static property 'CSVTimeFormat__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
323 | 	// h m s ms
324 | 	//  00:00:00[.,:]000
325 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             `- warning: static property 'CSVTimeFormat__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
326 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
327 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:28:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 |
 27 | import Foundation
 28 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 29 | import TinyCSV
 30 |
    :
323 | 	// h m s ms
324 | 	//  00:00:00[.,:]000
325 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             |- note: annotate 'CSVTimeFormat__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
326 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
327 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:326:13: warning: static property 'CSVTimeFormatTens__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
324 | 	//  00:00:00[.,:]000
325 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
326 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
    |             |- warning: static property 'CSVTimeFormatTens__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'CSVTimeFormatTens__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
327 |
328 | 	func parseTime(index: Int, timeString: String) throws -> Subtitles.Time {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
[35/39] Compiling SwiftSubtitles Subtitles+codable.swift
[36/39] Compiling SwiftSubtitles Subtitles+cue.swift
[37/39] Emitting module SwiftSubtitles
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+error.swift:52:7: warning: associated value 'timeTooLargeToExport' of 'Sendable'-conforming enum 'SubTitlesError' has non-sendable type 'Subtitles.Cue'; this is an error in the Swift 6 language mode
50 | 	case coderDoesntSupportEncoding
51 | 	/// Start or end time is too large for the export format
52 | 	case timeTooLargeToExport(Subtitles.Cue)
   |       `- warning: associated value 'timeTooLargeToExport' of 'Sendable'-conforming enum 'SubTitlesError' has non-sendable type 'Subtitles.Cue'; this is an error in the Swift 6 language mode
53 | }
54 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+cue.swift:35:9: note: consider making struct 'Cue' conform to the 'Sendable' protocol
 33 |
 34 | 	/// An cue entry in a subtitles file
 35 | 	struct Cue: Equatable, Identifiable, Codable {
    |         `- note: consider making struct 'Cue' conform to the 'Sendable' protocol
 36 | 		/// A unique identifier for _this_ object. It is not involved in equality checks
 37 | 		public let id: CueIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles.swift:32:20: warning: static property 'empty' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 | public struct Subtitles: Equatable, Codable {
 31 |
 32 | 	public static var empty: Subtitles = Subtitles([])
    |                    |- warning: static property 'empty' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'empty' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: annotate 'empty' with '@MainActor' if property should only be accessed from the main actor
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |
 34 | 	/// Do we have any cues
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:76:21: warning: static property 'DefaultFields' is not concurrency-safe because non-'Sendable' type '[Subtitles.Coder.CSV.Field]' may have shared mutable state; this is an error in the Swift 6 language mode
 52 | 		///
 53 | 		/// The column title is only used for encoding (ignored during decoding)
 54 | 		public enum Field {
    |               `- note: consider making enum 'Field' conform to the 'Sendable' protocol
 55 | 			/// The cue's identifier
 56 | 			case identifier(title: String)
    :
 74 |
 75 | 		/// Default expected field order
 76 | 		public static let DefaultFields: [Field] = [
    |                     |- warning: static property 'DefaultFields' is not concurrency-safe because non-'Sendable' type '[Subtitles.Coder.CSV.Field]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'DefaultFields' with '@MainActor' if property should only be accessed from the main actor
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 | 			.position(title: "No."),
 78 | 			.startTime(title: "Timecode In"),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:325:13: warning: static property 'CSVTimeFormat__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
323 | 	// h m s ms
324 | 	//  00:00:00[.,:]000
325 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             `- warning: static property 'CSVTimeFormat__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
326 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
327 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:28:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 |
 27 | import Foundation
 28 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 29 | import TinyCSV
 30 |
    :
323 | 	// h m s ms
324 | 	//  00:00:00[.,:]000
325 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             |- note: annotate 'CSVTimeFormat__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
326 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
327 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:326:13: warning: static property 'CSVTimeFormatTens__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
324 | 	//  00:00:00[.,:]000
325 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
326 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
    |             |- warning: static property 'CSVTimeFormatTens__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'CSVTimeFormatTens__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
327 |
328 | 	func parseTime(index: Int, timeString: String) throws -> Subtitles.Time {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/LRC.swift:122:13: warning: let 'LRCTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// Regex for matching an LRC time string
122 | private let LRCTimeRegex__ = try! DSFRegex(#"\[(\d{2})\:(\d{2})\.(\d{2,3})\]+"#)
    |             `- warning: let 'LRCTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
123 |
124 | public extension Subtitles.Coder.LRC {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/LRC.swift:31:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 29 | //  https://www.lyricsify.com
 30 |
 31 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 32 | import Foundation
 33 |
    :
120 |
121 | /// Regex for matching an LRC time string
122 | private let LRCTimeRegex__ = try! DSFRegex(#"\[(\d{2})\:(\d{2})\.(\d{2,3})\]+"#)
    |             |- note: annotate 'LRCTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 | public extension Subtitles.Coder.LRC {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:52:13: warning: let 'SBVTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 50 |
 51 | /// Regex for matching an SBV time string
 52 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             `- warning: let 'SBVTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 53 |
 54 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:27:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 25 | //
 26 |
 27 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 28 | import Foundation
 29 |
    :
 50 |
 51 | /// Regex for matching an SBV time string
 52 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             |- note: annotate 'SBVTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |
 54 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:50:13: warning: let 'SRTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 48 |
 49 | /// Regex for matching an SRT time string
 50 | private let SRTTimeRegex__ = try! DSFRegex(#"(\d+):(\d{1,2}):(\d{1,2}),(\d{3})\s-->\s(\d+):(\d{2}):(\d{1,2}),(\d{3})"#)
    |             `- warning: let 'SRTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | public extension Subtitles.Coder.SRT {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:27:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 25 | //
 26 |
 27 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 28 | import Foundation
 29 |
    :
 48 |
 49 | /// Regex for matching an SRT time string
 50 | private let SRTTimeRegex__ = try! DSFRegex(#"(\d+):(\d{1,2}):(\d{1,2}),(\d{3})\s-->\s(\d+):(\d{2}):(\d{1,2}),(\d{3})"#)
    |             |- note: annotate 'SRTTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 | public extension Subtitles.Coder.SRT {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:53:13: warning: let 'VTTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | /// The time matching regex
 53 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
    |             `- warning: let 'VTTTimeRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 54 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 55 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:27:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 25 | //
 26 |
 27 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 28 | import Foundation
 29 |
    :
 51 |
 52 | /// The time matching regex
 53 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
    |             |- note: annotate 'VTTTimeRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 55 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:55:13: warning: let 'VTTSpeakerRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
 53 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
 54 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 55 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
    |             |- warning: let 'VTTSpeakerRegex__' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'VTTSpeakerRegex__' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 56 |
 57 | public extension Subtitles.Coder.VTT {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:30:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 28 |
 29 | /// A regex class wrapper for Swift
 30 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 31 | 	/// Regex errors
 32 | 	enum RegexError: Error {
[38/39] Compiling SwiftSubtitles Subtitles+error.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+error.swift:52:7: warning: associated value 'timeTooLargeToExport' of 'Sendable'-conforming enum 'SubTitlesError' has non-sendable type 'Subtitles.Cue'; this is an error in the Swift 6 language mode
50 | 	case coderDoesntSupportEncoding
51 | 	/// Start or end time is too large for the export format
52 | 	case timeTooLargeToExport(Subtitles.Cue)
   |       `- warning: associated value 'timeTooLargeToExport' of 'Sendable'-conforming enum 'SubTitlesError' has non-sendable type 'Subtitles.Cue'; this is an error in the Swift 6 language mode
53 | }
54 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+cue.swift:35:9: note: consider making struct 'Cue' conform to the 'Sendable' protocol
 33 |
 34 | 	/// An cue entry in a subtitles file
 35 | 	struct Cue: Equatable, Identifiable, Codable {
    |         `- note: consider making struct 'Cue' conform to the 'Sendable' protocol
 36 | 		/// A unique identifier for _this_ object. It is not involved in equality checks
 37 | 		public let id: CueIdentifier
[39/39] Compiling SwiftSubtitles Subtitles+time.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+error.swift:52:7: warning: associated value 'timeTooLargeToExport' of 'Sendable'-conforming enum 'SubTitlesError' has non-sendable type 'Subtitles.Cue'; this is an error in the Swift 6 language mode
50 | 	case coderDoesntSupportEncoding
51 | 	/// Start or end time is too large for the export format
52 | 	case timeTooLargeToExport(Subtitles.Cue)
   |       `- warning: associated value 'timeTooLargeToExport' of 'Sendable'-conforming enum 'SubTitlesError' has non-sendable type 'Subtitles.Cue'; this is an error in the Swift 6 language mode
53 | }
54 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+cue.swift:35:9: note: consider making struct 'Cue' conform to the 'Sendable' protocol
 33 |
 34 | 	/// An cue entry in a subtitles file
 35 | 	struct Cue: Equatable, Identifiable, Codable {
    |         `- note: consider making struct 'Cue' conform to the 'Sendable' protocol
 36 | 		/// A unique identifier for _this_ object. It is not involved in equality checks
 37 | 		public let id: CueIdentifier
Build complete! (21.19s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "dsfregex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.3.1",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dagronf/DSFRegex"
    },
    {
      "identity" : "tinycsv",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "1.1.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dagronf/TinyCSV"
    }
  ],
  "manifest_display_name" : "SwiftSubtitles",
  "name" : "SwiftSubtitles",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftSubtitles",
      "targets" : [
        "SwiftSubtitles"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftSubtitlesTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSubtitlesTests",
      "path" : "Tests/SwiftSubtitlesTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/captions_edited.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/stby.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/ZUTOMAYO - Can't Be Right.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/espresso.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/sample.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/starwars-demo.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions-LE.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/26-transcript.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/Teenage+Mutant+Ninja+Turtles.1990.Blu-ray.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/utf16-test.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/zorro.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sub/97620.sub",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/crash_13.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample-big5.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/simple-sample-rn.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/speakers1.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/upc-video-subtitles-en.vtt",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "BugTests.swift",
        "CSVTests.swift",
        "CommonTests.swift",
        "JSONTests.swift",
        "LRCTests.swift",
        "PodcastIndexTests.swift",
        "SBVTests.swift",
        "SRTTests.swift",
        "SUBTests.swift",
        "TestUtils.swift",
        "TimeShiftingTests.swift",
        "VTTTests.swift"
      ],
      "target_dependencies" : [
        "SwiftSubtitles"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftSubtitles",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSubtitles",
      "path" : "Sources/SwiftSubtitles",
      "product_dependencies" : [
        "DSFRegex",
        "TinyCSV"
      ],
      "product_memberships" : [
        "SwiftSubtitles"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftSubtitles/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Subtitles+codable.swift",
        "Subtitles+cue.swift",
        "Subtitles+error.swift",
        "Subtitles+time.swift",
        "Subtitles.swift",
        "coding/CSV.swift",
        "coding/JSON.swift",
        "coding/LRC.swift",
        "coding/PodcastsIndex.swift",
        "coding/SBV.swift",
        "coding/SRT.swift",
        "coding/SUB.swift",
        "coding/VTT.swift",
        "private/Identifier.swift",
        "private/String+BOM.swift",
        "private/String+extensions.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
Done.