The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of SwiftSubtitles, reference main (9f1503), with Swift 6.1 for Linux on 3 Jun 2025 06:23:59 UTC.

Swift 6 data race errors: 12

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dagronf/SwiftSubtitles.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/dagronf/SwiftSubtitles
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 9f1503b Add basic support for parsing TTML files
Cloned https://github.com/dagronf/SwiftSubtitles.git
Revision (git rev-parse @):
9f1503bda1d095880da0f14a0e07215631929f27
SUCCESS checkout https://github.com/dagronf/SwiftSubtitles.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/dagronf/SwiftSubtitles.git
https://github.com/dagronf/SwiftSubtitles.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "dsfregex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.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" : "/host/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" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/captions_edited.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/stby.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/ZUTOMAYO - Can't Be Right.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/espresso.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/sample.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/starwars-demo.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions-LE.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/26-transcript.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/Teenage+Mutant+Ninja+Turtles.1990.Blu-ray.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/utf16-test.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/zorro.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sub/97620.sub",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/pirates.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/sample1.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/sample2.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/sample3.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/crash_13.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/empty.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample-big5.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/simple-sample-rn.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/speakers1.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/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",
        "TTMLTests.swift",
        "TestUtils.swift",
        "TimeExpressionTests.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" : "/host/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/TTML.swift",
        "coding/VTT.swift",
        "private/Clamping.swift",
        "private/Identifier.swift",
        "private/String+BOM.swift",
        "private/String+extensions.swift",
        "private/TimeExpression.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2b296aa7156f49efc57252cdf9ed4bb21d0f92fc98d88800e255491ba2db3116
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/dagronf/TinyCSV
Fetching https://github.com/dagronf/DSFRegex
[1/277] Fetching tinycsv
[234/517] Fetching tinycsv, dsfregex
Fetched https://github.com/dagronf/TinyCSV from cache (0.29s)
Fetched https://github.com/dagronf/DSFRegex from cache (0.30s)
Computing version for https://github.com/dagronf/DSFRegex
Computed https://github.com/dagronf/DSFRegex at 4.0.0 (0.86s)
Computing version for https://github.com/dagronf/TinyCSV
Computed https://github.com/dagronf/TinyCSV at 1.0.1 (0.59s)
Creating working copy for https://github.com/dagronf/DSFRegex
Working copy of https://github.com/dagronf/DSFRegex resolved at 4.0.0
Creating working copy for https://github.com/dagronf/TinyCSV
Working copy of https://github.com/dagronf/TinyCSV resolved at 1.0.1
Building for debugging...
[0/7] Write sources
[0/7] Copying PrivacyInfo.xcprivacy
[5/7] Write sources
[6/7] Write swift-version-24593BA9C3E375BF.txt
[8/21] Emitting module TinyCSV
[9/22] Compiling DSFRegex resource_bundle_accessor.swift
[10/22] Compiling TinyCSV TinyCSV.swift
[11/22] Compiling TinyCSV resource_bundle_accessor.swift
[12/22] Compiling TinyCSV TinyCSV+Decode.swift
[13/22] Compiling TinyCSV TinyCSV+Delimiter.swift
[14/22] Compiling TinyCSV TinyCSV+Encode.swift
[15/22] Compiling TinyCSV TinyCSV+Parsing.swift
[16/22] Compiling TinyCSV TinyCSV+Decoder.swift
[17/22] Compiling TinyCSV TinyCSVData.swift
[18/22] Compiling TinyCSV TinyCSV+EventDrivenDecoder.swift
[19/22] Compiling DSFRegex String+regex.swift
[20/22] Compiling DSFRegex DSFRegex.swift
[21/22] Emitting module DSFRegex
[22/22] Compiling DSFRegex String+CursorExtensions.swift
[25/43] Compiling SwiftSubtitles String+BOM.swift
[26/43] Compiling SwiftSubtitles String+extensions.swift
[27/45] Emitting module SwiftSubtitles
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+error.swift:50: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
48 | 	case coderDoesntSupportEncoding
49 | 	/// Start or end time is too large for the export format
50 | 	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
51 | }
52 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+cue.swift:33:9: note: consider making struct 'Cue' conform to the 'Sendable' protocol
 31 |
 32 | 	/// An cue entry in a subtitles file
 33 | 	struct Cue: Equatable, Identifiable, Codable {
    |         `- note: consider making struct 'Cue' conform to the 'Sendable' protocol
 34 | 		/// A unique identifier for _this_ object. It is not involved in equality checks
 35 | 		public let id: CueIdentifier
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles.swift:30: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
 28 | public struct Subtitles: Equatable, Codable {
 29 |
 30 | 	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: 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
 31 |
 32 | 	/// Do we have any cues
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:74: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
 50 | 		///
 51 | 		/// The column title is only used for encoding (ignored during decoding)
 52 | 		public enum Field {
    |               `- note: consider making enum 'Field' conform to the 'Sendable' protocol
 53 | 			/// The cue's identifier
 54 | 			case identifier(title: String)
    :
 72 |
 73 | 		/// Default expected field order
 74 | 		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: add '@MainActor' to make static property 'DefaultFields' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 75 | 			.position(title: "No."),
 76 | 			.startTime(title: "Timecode In"),
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:323: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
321 | 	// h m s ms
322 | 	//  00:00:00[.,:]000
323 | 	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
324 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
325 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 24 |
 25 | import Foundation
 26 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 27 | import TinyCSV
 28 |
    :
321 | 	// h m s ms
322 | 	//  00:00:00[.,:]000
323 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             |- note: add '@MainActor' to make static property 'CSVTimeFormat__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
325 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:324: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
322 | 	//  00:00:00[.,:]000
323 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
324 | 	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: add '@MainActor' to make static property 'CSVTimeFormatTens__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
325 |
326 | 	func parseTime(index: Int, timeString: String) throws -> Subtitles.Time {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/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 {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/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: add '@MainActor' to make let 'LRCTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 | public extension Subtitles.Coder.LRC {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:50: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
 48 |
 49 | /// Regex for matching an SBV time string
 50 | 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
 51 |
 52 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 48 |
 49 | /// Regex for matching an SBV time string
 50 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             |- note: add '@MainActor' to make let 'SBVTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:48: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
 46 |
 47 | /// Regex for matching an SRT time string
 48 | 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
 49 |
 50 | public extension Subtitles.Coder.SRT {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 46 |
 47 | /// Regex for matching an SRT time string
 48 | 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: add '@MainActor' to make let 'SRTTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |
 50 | public extension Subtitles.Coder.SRT {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:51: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
 49 |
 50 | /// The time matching regex
 51 | 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
 52 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 53 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 49 |
 50 | /// The time matching regex
 51 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
    |             |- note: add '@MainActor' to make let 'VTTTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 52 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 53 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:53: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
 51 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
 52 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 53 | 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: add '@MainActor' to make let 'VTTSpeakerRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |
 55 | public extension Subtitles.Coder.VTT {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/private/TimeExpression.swift:214:13: warning: let '__clockTimeRegex' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
212 | // MARK: - Parsing
213 |
214 | private let __clockTimeRegex = try! DSFRegex(#"(\d{2,}):(\d{2}):(\d{2})(?:\.(\d+)|:(\d{2,})(?:\.(\d+))?)?"#)
    |             `- warning: let '__clockTimeRegex' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
215 | private let __timeOffsetRegex = try! DSFRegex(#"(\d+(?:\.\d+)?)(ms|h|m|s|f|t)"#)
216 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/private/TimeExpression.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
212 | // MARK: - Parsing
213 |
214 | private let __clockTimeRegex = try! DSFRegex(#"(\d{2,}):(\d{2}):(\d{2})(?:\.(\d+)|:(\d{2,})(?:\.(\d+))?)?"#)
    |             |- note: add '@MainActor' to make let '__clockTimeRegex' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
215 | private let __timeOffsetRegex = try! DSFRegex(#"(\d+(?:\.\d+)?)(ms|h|m|s|f|t)"#)
216 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/private/TimeExpression.swift:215:13: warning: let '__timeOffsetRegex' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
213 |
214 | private let __clockTimeRegex = try! DSFRegex(#"(\d{2,}):(\d{2}):(\d{2})(?:\.(\d+)|:(\d{2,})(?:\.(\d+))?)?"#)
215 | private let __timeOffsetRegex = try! DSFRegex(#"(\d+(?:\.\d+)?)(ms|h|m|s|f|t)"#)
    |             |- warning: let '__timeOffsetRegex' 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: add '@MainActor' to make let '__timeOffsetRegex' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 | private func __parseTimeExpression(_ string: String) -> TimeExpression? {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
[28/45] Compiling SwiftSubtitles TTML.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:51: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
 49 |
 50 | /// The time matching regex
 51 | 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
 52 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 53 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 49 |
 50 | /// The time matching regex
 51 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
    |             |- note: add '@MainActor' to make let 'VTTTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 52 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 53 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:53: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
 51 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
 52 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 53 | 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: add '@MainActor' to make let 'VTTSpeakerRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |
 55 | public extension Subtitles.Coder.VTT {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
[29/45] Compiling SwiftSubtitles VTT.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:51: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
 49 |
 50 | /// The time matching regex
 51 | 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
 52 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 53 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 49 |
 50 | /// The time matching regex
 51 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
    |             |- note: add '@MainActor' to make let 'VTTTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 52 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 53 | private let VTTSpeakerRegex__ = try! DSFRegex(#"<v[^ ]* ([^>]*)>"#)
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/VTT.swift:53: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
 51 | private let VTTTimeRegex__ = try! DSFRegex(#"(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})\s*-->\s*(?:(\d*):)?(?:(\d*):)(\d*)[.,](\d{3})"#)
 52 | /// Regex for matching a speaker tag <v.loud Esme>This is a test
 53 | 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: add '@MainActor' to make let 'VTTSpeakerRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |
 55 | public extension Subtitles.Coder.VTT {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
[30/45] Compiling SwiftSubtitles TimeExpression.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/private/TimeExpression.swift:214:13: warning: let '__clockTimeRegex' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
212 | // MARK: - Parsing
213 |
214 | private let __clockTimeRegex = try! DSFRegex(#"(\d{2,}):(\d{2}):(\d{2})(?:\.(\d+)|:(\d{2,})(?:\.(\d+))?)?"#)
    |             `- warning: let '__clockTimeRegex' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
215 | private let __timeOffsetRegex = try! DSFRegex(#"(\d+(?:\.\d+)?)(ms|h|m|s|f|t)"#)
216 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/private/TimeExpression.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
212 | // MARK: - Parsing
213 |
214 | private let __clockTimeRegex = try! DSFRegex(#"(\d{2,}):(\d{2}):(\d{2})(?:\.(\d+)|:(\d{2,})(?:\.(\d+))?)?"#)
    |             |- note: add '@MainActor' to make let '__clockTimeRegex' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
215 | private let __timeOffsetRegex = try! DSFRegex(#"(\d+(?:\.\d+)?)(ms|h|m|s|f|t)"#)
216 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/private/TimeExpression.swift:215:13: warning: let '__timeOffsetRegex' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
213 |
214 | private let __clockTimeRegex = try! DSFRegex(#"(\d{2,}):(\d{2}):(\d{2})(?:\.(\d+)|:(\d{2,})(?:\.(\d+))?)?"#)
215 | private let __timeOffsetRegex = try! DSFRegex(#"(\d+(?:\.\d+)?)(ms|h|m|s|f|t)"#)
    |             |- warning: let '__timeOffsetRegex' 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: add '@MainActor' to make let '__timeOffsetRegex' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 | private func __parseTimeExpression(_ string: String) -> TimeExpression? {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
[31/45] Compiling SwiftSubtitles resource_bundle_accessor.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/private/TimeExpression.swift:214:13: warning: let '__clockTimeRegex' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
212 | // MARK: - Parsing
213 |
214 | private let __clockTimeRegex = try! DSFRegex(#"(\d{2,}):(\d{2}):(\d{2})(?:\.(\d+)|:(\d{2,})(?:\.(\d+))?)?"#)
    |             `- warning: let '__clockTimeRegex' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
215 | private let __timeOffsetRegex = try! DSFRegex(#"(\d+(?:\.\d+)?)(ms|h|m|s|f|t)"#)
216 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/private/TimeExpression.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
212 | // MARK: - Parsing
213 |
214 | private let __clockTimeRegex = try! DSFRegex(#"(\d{2,}):(\d{2}):(\d{2})(?:\.(\d+)|:(\d{2,})(?:\.(\d+))?)?"#)
    |             |- note: add '@MainActor' to make let '__clockTimeRegex' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
215 | private let __timeOffsetRegex = try! DSFRegex(#"(\d+(?:\.\d+)?)(ms|h|m|s|f|t)"#)
216 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/private/TimeExpression.swift:215:13: warning: let '__timeOffsetRegex' is not concurrency-safe because non-'Sendable' type 'DSFRegex' may have shared mutable state; this is an error in the Swift 6 language mode
213 |
214 | private let __clockTimeRegex = try! DSFRegex(#"(\d{2,}):(\d{2}):(\d{2})(?:\.(\d+)|:(\d{2,})(?:\.(\d+))?)?"#)
215 | private let __timeOffsetRegex = try! DSFRegex(#"(\d+(?:\.\d+)?)(ms|h|m|s|f|t)"#)
    |             |- warning: let '__timeOffsetRegex' 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: add '@MainActor' to make let '__timeOffsetRegex' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 | private func __parseTimeExpression(_ string: String) -> TimeExpression? {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
[32/45] Compiling SwiftSubtitles SBV.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:50: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
 48 |
 49 | /// Regex for matching an SBV time string
 50 | 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
 51 |
 52 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 48 |
 49 | /// Regex for matching an SBV time string
 50 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             |- note: add '@MainActor' to make let 'SBVTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:48: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
 46 |
 47 | /// Regex for matching an SRT time string
 48 | 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
 49 |
 50 | public extension Subtitles.Coder.SRT {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 46 |
 47 | /// Regex for matching an SRT time string
 48 | 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: add '@MainActor' to make let 'SRTTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |
 50 | public extension Subtitles.Coder.SRT {
[33/45] Compiling SwiftSubtitles SRT.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:50: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
 48 |
 49 | /// Regex for matching an SBV time string
 50 | 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
 51 |
 52 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 48 |
 49 | /// Regex for matching an SBV time string
 50 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             |- note: add '@MainActor' to make let 'SBVTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:48: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
 46 |
 47 | /// Regex for matching an SRT time string
 48 | 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
 49 |
 50 | public extension Subtitles.Coder.SRT {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 46 |
 47 | /// Regex for matching an SRT time string
 48 | 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: add '@MainActor' to make let 'SRTTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |
 50 | public extension Subtitles.Coder.SRT {
[34/45] Compiling SwiftSubtitles SUB.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:50: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
 48 |
 49 | /// Regex for matching an SBV time string
 50 | 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
 51 |
 52 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SBV.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 48 |
 49 | /// Regex for matching an SBV time string
 50 | private let SBVTimeRegex__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})\.(\d{3}),(\d+):(\d{2}):(\d{1,2})\.(\d{3})$"#)
    |             |- note: add '@MainActor' to make let 'SBVTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:48: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
 46 |
 47 | /// Regex for matching an SRT time string
 48 | 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
 49 |
 50 | public extension Subtitles.Coder.SRT {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/SRT.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 23 | //
 24 |
 25 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 26 | import Foundation
 27 |
    :
 46 |
 47 | /// Regex for matching an SRT time string
 48 | 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: add '@MainActor' to make let 'SRTTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |
 50 | public extension Subtitles.Coder.SRT {
[35/45] Compiling SwiftSubtitles JSON.swift
/host/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 {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/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: add '@MainActor' to make let 'LRCTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 | public extension Subtitles.Coder.LRC {
[36/45] Compiling SwiftSubtitles LRC.swift
/host/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 {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/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: add '@MainActor' to make let 'LRCTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 | public extension Subtitles.Coder.LRC {
[37/45] Compiling SwiftSubtitles PodcastsIndex.swift
/host/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 {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/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: add '@MainActor' to make let 'LRCTimeRegex__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 | public extension Subtitles.Coder.LRC {
[38/45] Compiling SwiftSubtitles Clamping.swift
[39/45] Compiling SwiftSubtitles Identifier.swift
[40/45] Compiling SwiftSubtitles Subtitles+time.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles.swift:30: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
 28 | public struct Subtitles: Equatable, Codable {
 29 |
 30 | 	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: 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
 31 |
 32 | 	/// Do we have any cues
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:74: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
 50 | 		///
 51 | 		/// The column title is only used for encoding (ignored during decoding)
 52 | 		public enum Field {
    |               `- note: consider making enum 'Field' conform to the 'Sendable' protocol
 53 | 			/// The cue's identifier
 54 | 			case identifier(title: String)
    :
 72 |
 73 | 		/// Default expected field order
 74 | 		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: add '@MainActor' to make static property 'DefaultFields' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 75 | 			.position(title: "No."),
 76 | 			.startTime(title: "Timecode In"),
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:323: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
321 | 	// h m s ms
322 | 	//  00:00:00[.,:]000
323 | 	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
324 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
325 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 24 |
 25 | import Foundation
 26 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 27 | import TinyCSV
 28 |
    :
321 | 	// h m s ms
322 | 	//  00:00:00[.,:]000
323 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             |- note: add '@MainActor' to make static property 'CSVTimeFormat__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
325 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:324: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
322 | 	//  00:00:00[.,:]000
323 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
324 | 	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: add '@MainActor' to make static property 'CSVTimeFormatTens__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
325 |
326 | 	func parseTime(index: Int, timeString: String) throws -> Subtitles.Time {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
[41/45] Compiling SwiftSubtitles Subtitles.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles.swift:30: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
 28 | public struct Subtitles: Equatable, Codable {
 29 |
 30 | 	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: 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
 31 |
 32 | 	/// Do we have any cues
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:74: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
 50 | 		///
 51 | 		/// The column title is only used for encoding (ignored during decoding)
 52 | 		public enum Field {
    |               `- note: consider making enum 'Field' conform to the 'Sendable' protocol
 53 | 			/// The cue's identifier
 54 | 			case identifier(title: String)
    :
 72 |
 73 | 		/// Default expected field order
 74 | 		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: add '@MainActor' to make static property 'DefaultFields' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 75 | 			.position(title: "No."),
 76 | 			.startTime(title: "Timecode In"),
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:323: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
321 | 	// h m s ms
322 | 	//  00:00:00[.,:]000
323 | 	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
324 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
325 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 24 |
 25 | import Foundation
 26 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 27 | import TinyCSV
 28 |
    :
321 | 	// h m s ms
322 | 	//  00:00:00[.,:]000
323 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             |- note: add '@MainActor' to make static property 'CSVTimeFormat__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
325 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:324: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
322 | 	//  00:00:00[.,:]000
323 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
324 | 	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: add '@MainActor' to make static property 'CSVTimeFormatTens__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
325 |
326 | 	func parseTime(index: Int, timeString: String) throws -> Subtitles.Time {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
[42/45] Compiling SwiftSubtitles CSV.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles.swift:30: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
 28 | public struct Subtitles: Equatable, Codable {
 29 |
 30 | 	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: 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
 31 |
 32 | 	/// Do we have any cues
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:74: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
 50 | 		///
 51 | 		/// The column title is only used for encoding (ignored during decoding)
 52 | 		public enum Field {
    |               `- note: consider making enum 'Field' conform to the 'Sendable' protocol
 53 | 			/// The cue's identifier
 54 | 			case identifier(title: String)
    :
 72 |
 73 | 		/// Default expected field order
 74 | 		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: add '@MainActor' to make static property 'DefaultFields' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 75 | 			.position(title: "No."),
 76 | 			.startTime(title: "Timecode In"),
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:323: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
321 | 	// h m s ms
322 | 	//  00:00:00[.,:]000
323 | 	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
324 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
325 |
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 24 |
 25 | import Foundation
 26 | import DSFRegex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DSFRegex'
 27 | import TinyCSV
 28 |
    :
321 | 	// h m s ms
322 | 	//  00:00:00[.,:]000
323 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
    |             |- note: add '@MainActor' to make static property 'CSVTimeFormat__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 | 	static let CSVTimeFormatTens__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{2})$"#)
325 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/coding/CSV.swift:324: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
322 | 	//  00:00:00[.,:]000
323 | 	static let CSVTimeFormat__ = try! DSFRegex(#"^(\d+):(\d{1,2}):(\d{1,2})[,\.:](\d{3})$"#)
324 | 	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: add '@MainActor' to make static property 'CSVTimeFormatTens__' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
325 |
326 | 	func parseTime(index: Int, timeString: String) throws -> Subtitles.Time {
/host/spi-builder-workspace/.build/checkouts/DSFRegex/Sources/DSFRegex/DSFRegex.swift:23:14: note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 21 |
 22 | /// A regex class wrapper for Swift
 23 | public class DSFRegex {
    |              `- note: class 'DSFRegex' does not conform to the 'Sendable' protocol
 24 | 	/// Regex errors
 25 | 	enum RegexError: Error {
[43/45] Compiling SwiftSubtitles Subtitles+codable.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+error.swift:50: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
48 | 	case coderDoesntSupportEncoding
49 | 	/// Start or end time is too large for the export format
50 | 	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
51 | }
52 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+cue.swift:33:9: note: consider making struct 'Cue' conform to the 'Sendable' protocol
 31 |
 32 | 	/// An cue entry in a subtitles file
 33 | 	struct Cue: Equatable, Identifiable, Codable {
    |         `- note: consider making struct 'Cue' conform to the 'Sendable' protocol
 34 | 		/// A unique identifier for _this_ object. It is not involved in equality checks
 35 | 		public let id: CueIdentifier
[44/45] Compiling SwiftSubtitles Subtitles+cue.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+error.swift:50: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
48 | 	case coderDoesntSupportEncoding
49 | 	/// Start or end time is too large for the export format
50 | 	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
51 | }
52 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+cue.swift:33:9: note: consider making struct 'Cue' conform to the 'Sendable' protocol
 31 |
 32 | 	/// An cue entry in a subtitles file
 33 | 	struct Cue: Equatable, Identifiable, Codable {
    |         `- note: consider making struct 'Cue' conform to the 'Sendable' protocol
 34 | 		/// A unique identifier for _this_ object. It is not involved in equality checks
 35 | 		public let id: CueIdentifier
[45/45] Compiling SwiftSubtitles Subtitles+error.swift
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+error.swift:50: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
48 | 	case coderDoesntSupportEncoding
49 | 	/// Start or end time is too large for the export format
50 | 	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
51 | }
52 |
/host/spi-builder-workspace/Sources/SwiftSubtitles/Subtitles+cue.swift:33:9: note: consider making struct 'Cue' conform to the 'Sendable' protocol
 31 |
 32 | 	/// An cue entry in a subtitles file
 33 | 	struct Cue: Equatable, Identifiable, Codable {
    |         `- note: consider making struct 'Cue' conform to the 'Sendable' protocol
 34 | 		/// A unique identifier for _this_ object. It is not involved in equality checks
 35 | 		public let id: CueIdentifier
Build complete! (16.41s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "dsfregex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.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" : "/host/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" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/captions_edited.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/stby.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/ZUTOMAYO - Can't Be Right.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/espresso.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/sample.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/starwars-demo.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions-LE.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/26-transcript.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/Teenage+Mutant+Ninja+Turtles.1990.Blu-ray.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/utf16-test.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/zorro.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sub/97620.sub",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/pirates.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/sample1.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/sample2.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/sample3.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/crash_13.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/empty.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample-big5.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/simple-sample-rn.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/speakers1.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/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",
        "TTMLTests.swift",
        "TestUtils.swift",
        "TimeExpressionTests.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" : "/host/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/TTML.swift",
        "coding/VTT.swift",
        "private/Clamping.swift",
        "private/Identifier.swift",
        "private/String+BOM.swift",
        "private/String+extensions.swift",
        "private/TimeExpression.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2b296aa7156f49efc57252cdf9ed4bb21d0f92fc98d88800e255491ba2db3116
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.