Build Information
Successful build of SwiftSubtitles, reference 2.1.0 (9f1503
), with Swift 6.1 for Linux on 3 Jun 2025 06:24:26 UTC.
Swift 6 data race errors: 12
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/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: 2.1.0
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
* tag 2.1.0 -> FETCH_HEAD
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 2.1.0
========================================
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-1":/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
[278/517] Fetching tinycsv, dsfregex
Fetched https://github.com/dagronf/TinyCSV from cache (0.29s)
Fetched https://github.com/dagronf/DSFRegex from cache (0.29s)
Computing version for https://github.com/dagronf/DSFRegex
Computed https://github.com/dagronf/DSFRegex at 4.0.0 (0.90s)
Computing version for https://github.com/dagronf/TinyCSV
Computed https://github.com/dagronf/TinyCSV at 1.0.1 (0.53s)
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
[0/7] Write sources
[0/7] Copying PrivacyInfo.xcprivacy
[6/7] Write swift-version-24593BA9C3E375BF.txt
[8/21] Compiling DSFRegex DSFRegex.swift
[9/21] Emitting module DSFRegex
[10/21] Compiling TinyCSV TinyCSV+Encode.swift
[11/21] Compiling DSFRegex String+regex.swift
[12/22] Compiling TinyCSV TinyCSV+Parsing.swift
[13/22] Compiling DSFRegex resource_bundle_accessor.swift
[14/22] Compiling DSFRegex String+CursorExtensions.swift
[15/23] Compiling TinyCSV TinyCSV.swift
[16/23] Compiling TinyCSV TinyCSV+Decode.swift
[17/23] Compiling TinyCSV TinyCSV+Delimiter.swift
[18/23] Emitting module TinyCSV
[19/23] Compiling TinyCSV TinyCSV+Decoder.swift
[20/23] Compiling TinyCSV TinyCSVData.swift
[21/23] Compiling TinyCSV TinyCSV+EventDrivenDecoder.swift
[23/23] Compiling TinyCSV resource_bundle_accessor.swift
[25/43] Compiling SwiftSubtitles String+BOM.swift
[26/43] Compiling SwiftSubtitles String+extensions.swift
[27/45] Compiling SwiftSubtitles Clamping.swift
[28/45] Compiling SwiftSubtitles Identifier.swift
[29/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 {
[30/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 {
[31/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 {
[32/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 {
[33/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 {
[34/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 {
[35/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 {
[36/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 {
[37/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 {
[38/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 {
[39/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 {
[40/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 {
[41/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
[42/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
[43/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
[44/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 {
[45/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 {
Build complete! (23.83s)
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.