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