Build Information
Successful build of SwiftSubtitles, reference 1.8.2 (aaa309
), with Swift 6.0 for Linux on 19 Dec 2024 01:49:16 UTC.
Swift 6 data race errors: 10
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-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.59.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dagronf/SwiftSubtitles.git
Reference: 1.8.2
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 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
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
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" : "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" : "/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/vtt/crash_13.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",
"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" : "/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/VTT.swift",
"private/Identifier.swift",
"private/String+BOM.swift",
"private/String+extensions.swift"
],
"type" : "library"
}
],
"tools_version" : "5.4"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-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.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/dagronf/TinyCSV
Fetching https://github.com/dagronf/DSFRegex
[1/220] Fetching dsfregex
[221/497] Fetching dsfregex, tinycsv
Fetched https://github.com/dagronf/DSFRegex from cache (0.18s)
[59/277] Fetching tinycsv
Fetched https://github.com/dagronf/TinyCSV from cache (0.22s)
Computing version for https://github.com/dagronf/TinyCSV
Computed https://github.com/dagronf/TinyCSV at 1.0.1 (0.81s)
Computing version for https://github.com/dagronf/DSFRegex
Computed https://github.com/dagronf/DSFRegex at 3.4.0 (0.52s)
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
Building for debugging...
[0/7] Write sources
[2/7] Copying PrivacyInfo.xcprivacy
[6/7] Write swift-version-24593BA9C3E375BF.txt
[8/20] Compiling TinyCSV TinyCSV+Parsing.swift
[9/21] Compiling TinyCSV TinyCSV+Encode.swift
[10/21] Compiling TinyCSV TinyCSV+EventDrivenDecoder.swift
[11/21] Emitting module TinyCSV
[12/21] Compiling TinyCSV TinyCSV+Decode.swift
[13/21] Compiling TinyCSV TinyCSV+Delimiter.swift
[14/21] Compiling TinyCSV resource_bundle_accessor.swift
[15/21] Compiling TinyCSV TinyCSV.swift
[16/21] Compiling TinyCSV TinyCSVData.swift
[17/21] Compiling TinyCSV TinyCSV+Decoder.swift
[18/22] Emitting module DSFRegex
[19/22] Compiling DSFRegex DSFRegex.swift
[21/22] Compiling DSFRegex String+CursorExtensions.swift
[22/22] Compiling DSFRegex resource_bundle_accessor.swift
[24/39] Compiling SwiftSubtitles Identifier.swift
[25/39] Compiling SwiftSubtitles String+BOM.swift
[26/41] Compiling SwiftSubtitles String+extensions.swift
[27/41] Compiling SwiftSubtitles resource_bundle_accessor.swift
[28/41] Emitting module SwiftSubtitles
/host/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 |
/host/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
/host/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
/host/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"),
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 {
/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: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 {
/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: 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 {
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 {
/host/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 {
/host/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[^ ]* ([^>]*)>"#)
/host/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 {
/host/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[^ ]* ([^>]*)>"#)
/host/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 {
/host/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/41] 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: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 {
/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: 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 {
[30/41] 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: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 {
/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: 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 {
[31/41] Compiling SwiftSubtitles SUB.swift
/host/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[^ ]* ([^>]*)>"#)
/host/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 {
/host/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[^ ]* ([^>]*)>"#)
/host/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 {
/host/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 {
[32/41] Compiling SwiftSubtitles VTT.swift
/host/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[^ ]* ([^>]*)>"#)
/host/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 {
/host/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[^ ]* ([^>]*)>"#)
/host/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 {
/host/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 {
[33/41] Compiling SwiftSubtitles Subtitles+time.swift
/host/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
[34/41] Compiling SwiftSubtitles Subtitles.swift
/host/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
[35/41] Compiling SwiftSubtitles CSV.swift
/host/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"),
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 {
[36/41] Compiling SwiftSubtitles JSON.swift
/host/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"),
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 {
[37/41] Compiling SwiftSubtitles Subtitles+codable.swift
/host/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 |
/host/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
[38/41] Compiling SwiftSubtitles Subtitles+cue.swift
/host/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 |
/host/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/41] Compiling SwiftSubtitles Subtitles+error.swift
/host/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 |
/host/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
[40/41] Compiling SwiftSubtitles SBV.swift
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 {
/host/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 {
[41/41] Compiling SwiftSubtitles SRT.swift
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 {
/host/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 {
Build complete! (24.71s)
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" : "/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/vtt/crash_13.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",
"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" : "/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/VTT.swift",
"private/Identifier.swift",
"private/String+BOM.swift",
"private/String+extensions.swift"
],
"type" : "library"
}
],
"tools_version" : "5.4"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.