This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of swift-quiz with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/rwbutler/swift-quiz.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/rwbutler/swift-quiz
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 447d0cf Updated .gitignore
Cloned https://github.com/rwbutler/swift-quiz.git
Revision (git rev-parse @):
447d0cf63d9920b3b8bdb062d71d0bc5aa849658
SUCCESS checkout https://github.com/rwbutler/swift-quiz.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/rwbutler/swift-quiz.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-6F35C1178C84523A.txt
[6/24] Compiling Hash Hash.swift
[7/24] Compiling Hash EncryptionAlgorithm.swift
[8/24] Compiling Hash HMAC.swift
[9/24] Compiling Hash EncryptedData.swift
[10/24] Compiling Hash DecryptedData.swift
[11/24] Compiling Hash HashAlgorithm.swift
[12/25] Compiling Fuse Fuse.swift
[13/25] Compiling Fuse String+Fuse.swift
[14/25] Compiling Fuse FuseUtilities.swift
[15/25] Emitting module Fuse
[16/25] Emitting module Hash
[17/25] Compiling Hash Cryptable.swift
[18/25] Compiling Hash StringAdditions.swift
[19/25] Compiling Hash DataAdditions.swift
[20/25] Compiling LetterCase LetterCaseOptions.swift
[21/25] Compiling LetterCase KeyDecodingStrategyAdditions.swift
[22/25] Compiling LetterCase LetterCase.swift
[23/25] Compiling LetterCase StringAdditions.swift
[24/25] Emitting module LetterCase
[25/25] Compiling Hash StringRepresentable.swift
[26/60] Compiling SwiftQuiz CodableParsingService.swift
[27/60] Compiling SwiftQuiz QuestionModel.swift
[28/60] Compiling SwiftQuiz QuizModel.swift
[29/63] Emitting module SwiftQuiz
/Users/admin/builder/spi-builder-workspace/code/model/PackageQuizResult.swift:10:1: warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension SwiftQuiz.PackageQuizResult: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public var description: String {
12 |         switch self {
[30/63] Compiling SwiftQuiz MessagingService.swift
/Users/admin/builder/spi-builder-workspace/code/services/messaging/implementation/SlackMessagingService.swift:29:17: warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |             guard let data = data, error == nil else {
28 |                 print(String(describing: error))
29 |                 completion()
   |                 |- warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
30 |                 return
31 |             }
[31/63] Compiling SwiftQuiz SlackMessagingService.swift
/Users/admin/builder/spi-builder-workspace/code/services/messaging/implementation/SlackMessagingService.swift:29:17: warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |             guard let data = data, error == nil else {
28 |                 print(String(describing: error))
29 |                 completion()
   |                 |- warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
30 |                 return
31 |             }
[32/63] Compiling SwiftQuiz ParsingService.swift
/Users/admin/builder/spi-builder-workspace/code/services/messaging/implementation/SlackMessagingService.swift:29:17: warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |             guard let data = data, error == nil else {
28 |                 print(String(describing: error))
29 |                 completion()
   |                 |- warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
30 |                 return
31 |             }
[33/63] Compiling SwiftQuiz MultipleChoice.swift
/Users/admin/builder/spi-builder-workspace/code/model/PackageQuizResult.swift:10:1: warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension SwiftQuiz.PackageQuizResult: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public var description: String {
12 |         switch self {
[34/63] Compiling SwiftQuiz PackageQuizResult.swift
/Users/admin/builder/spi-builder-workspace/code/model/PackageQuizResult.swift:10:1: warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension SwiftQuiz.PackageQuizResult: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public var description: String {
12 |         switch self {
[35/63] Compiling SwiftQuiz PackagingError.swift
/Users/admin/builder/spi-builder-workspace/code/model/PackageQuizResult.swift:10:1: warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension SwiftQuiz.PackageQuizResult: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public var description: String {
12 |         switch self {
[36/63] Compiling SwiftQuiz Question.swift
/Users/admin/builder/spi-builder-workspace/code/model/PackageQuizResult.swift:10:1: warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension SwiftQuiz.PackageQuizResult: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'Result' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public var description: String {
12 |         switch self {
[37/63] Compiling SwiftQuiz QuizType.swift
[38/63] Compiling SwiftQuiz Round.swift
[39/63] Compiling SwiftQuiz ShortAnswer.swift
[40/63] Compiling SwiftQuiz QuizServices.swift
[41/63] Compiling SwiftQuiz Quiz.swift
[42/63] Compiling SwiftQuiz QuizConfiguration.swift
[43/63] Compiling SwiftQuiz QuizError.swift
[44/63] Compiling SwiftQuiz QuizEvent.swift
[45/63] Compiling SwiftQuiz AccessControlService.swift
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:37:17: warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import LetterCase
 10 |
 11 | class DefaultAccessControlService: AccessControlService {
    |       `- note: class 'DefaultAccessControlService' does not conform to the 'Sendable' protocol
 12 |
 13 |     private var quizType: QuizType {
    :
 35 |             decoder.keyDecodingStrategy = .convertFromKebabCase
 36 |             if let model = try? decoder.decode(Flagpole.self, from: data) {
 37 |                 self?.updateACLs(with: model.accessToken)
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 38 |                 let identifiers: [UUID] = self?.completions.keys.compactMap { $0 } ?? []
 39 |                 identifiers.forEach { identifier in
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:40:38: warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in an isolated closure; this is an error in the Swift 6 language mode
  9 | import LetterCase
 10 |
 11 | class DefaultAccessControlService: AccessControlService {
    |       `- note: class 'DefaultAccessControlService' does not conform to the 'Sendable' protocol
 12 |
 13 |     private var quizType: QuizType {
    :
 38 |                 let identifiers: [UUID] = self?.completions.keys.compactMap { $0 } ?? []
 39 |                 identifiers.forEach { identifier in
 40 |                     let isUnlocked = self?.isUnlockedSync(identifier) == true
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in an isolated closure; this is an error in the Swift 6 language mode
 41 |                     self?.completions[identifier]?(isUnlocked)
 42 |                     if isUnlocked {
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:71:33: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 69 |             self.timer = timer
 70 |             DispatchQueue.main.async {
 71 |             RunLoop.current.add(timer, forMode: RunLoop.Mode.common)
    |                                 `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 72 |             }
 73 |         } else {
Foundation.Timer:1:12: note: class 'Timer' does not conform to the 'Sendable' protocol
 1 | open class Timer : NSObject {
   |            `- note: class 'Timer' does not conform to the 'Sendable' protocol
 2 |     public /*not inherited*/ init(timeInterval ti: TimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
 3 |     @available(*, unavailable, renamed: "init(timeInterval:invocation:repeats:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:71:33: warning: sending 'timer' risks causing data races; this is an error in the Swift 6 language mode
 69 |             self.timer = timer
 70 |             DispatchQueue.main.async {
 71 |             RunLoop.current.add(timer, forMode: RunLoop.Mode.common)
    |                                 |- warning: sending 'timer' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'timer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 72 |             }
 73 |         } else {
[46/63] Compiling SwiftQuiz DefaultAccessControlService.swift
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:37:17: warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import LetterCase
 10 |
 11 | class DefaultAccessControlService: AccessControlService {
    |       `- note: class 'DefaultAccessControlService' does not conform to the 'Sendable' protocol
 12 |
 13 |     private var quizType: QuizType {
    :
 35 |             decoder.keyDecodingStrategy = .convertFromKebabCase
 36 |             if let model = try? decoder.decode(Flagpole.self, from: data) {
 37 |                 self?.updateACLs(with: model.accessToken)
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 38 |                 let identifiers: [UUID] = self?.completions.keys.compactMap { $0 } ?? []
 39 |                 identifiers.forEach { identifier in
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:40:38: warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in an isolated closure; this is an error in the Swift 6 language mode
  9 | import LetterCase
 10 |
 11 | class DefaultAccessControlService: AccessControlService {
    |       `- note: class 'DefaultAccessControlService' does not conform to the 'Sendable' protocol
 12 |
 13 |     private var quizType: QuizType {
    :
 38 |                 let identifiers: [UUID] = self?.completions.keys.compactMap { $0 } ?? []
 39 |                 identifiers.forEach { identifier in
 40 |                     let isUnlocked = self?.isUnlockedSync(identifier) == true
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in an isolated closure; this is an error in the Swift 6 language mode
 41 |                     self?.completions[identifier]?(isUnlocked)
 42 |                     if isUnlocked {
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:71:33: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 69 |             self.timer = timer
 70 |             DispatchQueue.main.async {
 71 |             RunLoop.current.add(timer, forMode: RunLoop.Mode.common)
    |                                 `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 72 |             }
 73 |         } else {
Foundation.Timer:1:12: note: class 'Timer' does not conform to the 'Sendable' protocol
 1 | open class Timer : NSObject {
   |            `- note: class 'Timer' does not conform to the 'Sendable' protocol
 2 |     public /*not inherited*/ init(timeInterval ti: TimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
 3 |     @available(*, unavailable, renamed: "init(timeInterval:invocation:repeats:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:71:33: warning: sending 'timer' risks causing data races; this is an error in the Swift 6 language mode
 69 |             self.timer = timer
 70 |             DispatchQueue.main.async {
 71 |             RunLoop.current.add(timer, forMode: RunLoop.Mode.common)
    |                                 |- warning: sending 'timer' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'timer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 72 |             }
 73 |         } else {
[47/63] Compiling SwiftQuiz Flagpole.swift
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:37:17: warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import LetterCase
 10 |
 11 | class DefaultAccessControlService: AccessControlService {
    |       `- note: class 'DefaultAccessControlService' does not conform to the 'Sendable' protocol
 12 |
 13 |     private var quizType: QuizType {
    :
 35 |             decoder.keyDecodingStrategy = .convertFromKebabCase
 36 |             if let model = try? decoder.decode(Flagpole.self, from: data) {
 37 |                 self?.updateACLs(with: model.accessToken)
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 38 |                 let identifiers: [UUID] = self?.completions.keys.compactMap { $0 } ?? []
 39 |                 identifiers.forEach { identifier in
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:40:38: warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in an isolated closure; this is an error in the Swift 6 language mode
  9 | import LetterCase
 10 |
 11 | class DefaultAccessControlService: AccessControlService {
    |       `- note: class 'DefaultAccessControlService' does not conform to the 'Sendable' protocol
 12 |
 13 |     private var quizType: QuizType {
    :
 38 |                 let identifiers: [UUID] = self?.completions.keys.compactMap { $0 } ?? []
 39 |                 identifiers.forEach { identifier in
 40 |                     let isUnlocked = self?.isUnlockedSync(identifier) == true
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in an isolated closure; this is an error in the Swift 6 language mode
 41 |                     self?.completions[identifier]?(isUnlocked)
 42 |                     if isUnlocked {
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:71:33: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 69 |             self.timer = timer
 70 |             DispatchQueue.main.async {
 71 |             RunLoop.current.add(timer, forMode: RunLoop.Mode.common)
    |                                 `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 72 |             }
 73 |         } else {
Foundation.Timer:1:12: note: class 'Timer' does not conform to the 'Sendable' protocol
 1 | open class Timer : NSObject {
   |            `- note: class 'Timer' does not conform to the 'Sendable' protocol
 2 |     public /*not inherited*/ init(timeInterval ti: TimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
 3 |     @available(*, unavailable, renamed: "init(timeInterval:invocation:repeats:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:71:33: warning: sending 'timer' risks causing data races; this is an error in the Swift 6 language mode
 69 |             self.timer = timer
 70 |             DispatchQueue.main.async {
 71 |             RunLoop.current.add(timer, forMode: RunLoop.Mode.common)
    |                                 |- warning: sending 'timer' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'timer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 72 |             }
 73 |         } else {
[48/63] Compiling SwiftQuiz ImagesService.swift
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:37:17: warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import LetterCase
 10 |
 11 | class DefaultAccessControlService: AccessControlService {
    |       `- note: class 'DefaultAccessControlService' does not conform to the 'Sendable' protocol
 12 |
 13 |     private var quizType: QuizType {
    :
 35 |             decoder.keyDecodingStrategy = .convertFromKebabCase
 36 |             if let model = try? decoder.decode(Flagpole.self, from: data) {
 37 |                 self?.updateACLs(with: model.accessToken)
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 38 |                 let identifiers: [UUID] = self?.completions.keys.compactMap { $0 } ?? []
 39 |                 identifiers.forEach { identifier in
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:40:38: warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in an isolated closure; this is an error in the Swift 6 language mode
  9 | import LetterCase
 10 |
 11 | class DefaultAccessControlService: AccessControlService {
    |       `- note: class 'DefaultAccessControlService' does not conform to the 'Sendable' protocol
 12 |
 13 |     private var quizType: QuizType {
    :
 38 |                 let identifiers: [UUID] = self?.completions.keys.compactMap { $0 } ?? []
 39 |                 identifiers.forEach { identifier in
 40 |                     let isUnlocked = self?.isUnlockedSync(identifier) == true
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultAccessControlService?' in an isolated closure; this is an error in the Swift 6 language mode
 41 |                     self?.completions[identifier]?(isUnlocked)
 42 |                     if isUnlocked {
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:71:33: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 69 |             self.timer = timer
 70 |             DispatchQueue.main.async {
 71 |             RunLoop.current.add(timer, forMode: RunLoop.Mode.common)
    |                                 `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 72 |             }
 73 |         } else {
Foundation.Timer:1:12: note: class 'Timer' does not conform to the 'Sendable' protocol
 1 | open class Timer : NSObject {
   |            `- note: class 'Timer' does not conform to the 'Sendable' protocol
 2 |     public /*not inherited*/ init(timeInterval ti: TimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
 3 |     @available(*, unavailable, renamed: "init(timeInterval:invocation:repeats:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/code/services/access-control/implementation/DefaultAccessControlService.swift:71:33: warning: sending 'timer' risks causing data races; this is an error in the Swift 6 language mode
 69 |             self.timer = timer
 70 |             DispatchQueue.main.async {
 71 |             RunLoop.current.add(timer, forMode: RunLoop.Mode.common)
    |                                 |- warning: sending 'timer' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'timer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 72 |             }
 73 |         } else {
[49/63] Compiling SwiftQuiz ArrayAdditions.swift
[50/63] Compiling SwiftQuiz StringAdditions.swift
[51/63] Compiling SwiftQuiz CodableError.swift
[52/63] Compiling SwiftQuiz MultipleAnswer.swift
[53/63] Compiling SwiftQuiz MarkingService.swift
[54/63] Compiling SwiftQuiz DefaultMarkingService.swift
[55/63] Compiling SwiftQuiz MarkingFrequency.swift
[56/63] Compiling SwiftQuiz MarkingSubmission.swift
[57/63] Compiling SwiftQuiz SwiftQuiz.swift
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:346:17: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
344 |         internalQueue.async { [weak self] in
345 |             do {
346 |                 self?.quizData = try Data(contentsOf: quizURL)
    |                 `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
347 |                 if let quizData = self?.quizData {
348 |                     if let key = key {
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:362:13: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
360 |     private func invokeCallback(with event: QuizEvent) {
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
    |             `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
363 |                 callback(event)
364 |             }
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:363:26: warning: capture of 'event' with non-sendable type 'QuizEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
363 |                 callback(event)
    |                          `- warning: capture of 'event' with non-sendable type 'QuizEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
364 |             }
365 |         }
/Users/admin/builder/spi-builder-workspace/code/model/QuizEvent.swift:11:13: note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public enum QuizEvent: Equatable, CustomStringConvertible {
   |             `- note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
12 |
13 |     case keyRequired
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:363:26: warning: capture of 'event' with non-sendable type 'QuizEvent' in an isolated closure; this is an error in the Swift 6 language mode
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
363 |                 callback(event)
    |                          `- warning: capture of 'event' with non-sendable type 'QuizEvent' in an isolated closure; this is an error in the Swift 6 language mode
364 |             }
365 |         }
/Users/admin/builder/spi-builder-workspace/code/model/QuizEvent.swift:11:13: note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public enum QuizEvent: Equatable, CustomStringConvertible {
   |             `- note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
12 |
13 |     case keyRequired
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:375:13: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
373 |     private func invokeCallback(with error: QuizError) {
374 |         externalQueue.async { [weak self] in
375 |             self?.errorCallbacks.forEach { callback in
    |             `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
376 |                 callback(error)
377 |             }
[58/63] Compiling SwiftQuiz Publishers.swift
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:346:17: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
344 |         internalQueue.async { [weak self] in
345 |             do {
346 |                 self?.quizData = try Data(contentsOf: quizURL)
    |                 `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
347 |                 if let quizData = self?.quizData {
348 |                     if let key = key {
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:362:13: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
360 |     private func invokeCallback(with event: QuizEvent) {
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
    |             `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
363 |                 callback(event)
364 |             }
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:363:26: warning: capture of 'event' with non-sendable type 'QuizEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
363 |                 callback(event)
    |                          `- warning: capture of 'event' with non-sendable type 'QuizEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
364 |             }
365 |         }
/Users/admin/builder/spi-builder-workspace/code/model/QuizEvent.swift:11:13: note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public enum QuizEvent: Equatable, CustomStringConvertible {
   |             `- note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
12 |
13 |     case keyRequired
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:363:26: warning: capture of 'event' with non-sendable type 'QuizEvent' in an isolated closure; this is an error in the Swift 6 language mode
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
363 |                 callback(event)
    |                          `- warning: capture of 'event' with non-sendable type 'QuizEvent' in an isolated closure; this is an error in the Swift 6 language mode
364 |             }
365 |         }
/Users/admin/builder/spi-builder-workspace/code/model/QuizEvent.swift:11:13: note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public enum QuizEvent: Equatable, CustomStringConvertible {
   |             `- note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
12 |
13 |     case keyRequired
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:375:13: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
373 |     private func invokeCallback(with error: QuizError) {
374 |         externalQueue.async { [weak self] in
375 |             self?.errorCallbacks.forEach { callback in
    |             `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
376 |                 callback(error)
377 |             }
[59/63] Compiling SwiftQuiz QuizPublisher.swift
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:346:17: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
344 |         internalQueue.async { [weak self] in
345 |             do {
346 |                 self?.quizData = try Data(contentsOf: quizURL)
    |                 `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
347 |                 if let quizData = self?.quizData {
348 |                     if let key = key {
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:362:13: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
360 |     private func invokeCallback(with event: QuizEvent) {
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
    |             `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
363 |                 callback(event)
364 |             }
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:363:26: warning: capture of 'event' with non-sendable type 'QuizEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
363 |                 callback(event)
    |                          `- warning: capture of 'event' with non-sendable type 'QuizEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
364 |             }
365 |         }
/Users/admin/builder/spi-builder-workspace/code/model/QuizEvent.swift:11:13: note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public enum QuizEvent: Equatable, CustomStringConvertible {
   |             `- note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
12 |
13 |     case keyRequired
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:363:26: warning: capture of 'event' with non-sendable type 'QuizEvent' in an isolated closure; this is an error in the Swift 6 language mode
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
363 |                 callback(event)
    |                          `- warning: capture of 'event' with non-sendable type 'QuizEvent' in an isolated closure; this is an error in the Swift 6 language mode
364 |             }
365 |         }
/Users/admin/builder/spi-builder-workspace/code/model/QuizEvent.swift:11:13: note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public enum QuizEvent: Equatable, CustomStringConvertible {
   |             `- note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
12 |
13 |     case keyRequired
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:375:13: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
373 |     private func invokeCallback(with error: QuizError) {
374 |         externalQueue.async { [weak self] in
375 |             self?.errorCallbacks.forEach { callback in
    |             `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
376 |                 callback(error)
377 |             }
[60/63] Compiling SwiftQuiz QuizSubscription.swift
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:346:17: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
344 |         internalQueue.async { [weak self] in
345 |             do {
346 |                 self?.quizData = try Data(contentsOf: quizURL)
    |                 `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
347 |                 if let quizData = self?.quizData {
348 |                     if let key = key {
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:362:13: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
360 |     private func invokeCallback(with event: QuizEvent) {
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
    |             `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
363 |                 callback(event)
364 |             }
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:363:26: warning: capture of 'event' with non-sendable type 'QuizEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
363 |                 callback(event)
    |                          `- warning: capture of 'event' with non-sendable type 'QuizEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
364 |             }
365 |         }
/Users/admin/builder/spi-builder-workspace/code/model/QuizEvent.swift:11:13: note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public enum QuizEvent: Equatable, CustomStringConvertible {
   |             `- note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
12 |
13 |     case keyRequired
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:363:26: warning: capture of 'event' with non-sendable type 'QuizEvent' in an isolated closure; this is an error in the Swift 6 language mode
361 |         let nextOperation = BlockOperation { [weak self] in
362 |             self?.eventCallbacks.forEach { callback in
363 |                 callback(event)
    |                          `- warning: capture of 'event' with non-sendable type 'QuizEvent' in an isolated closure; this is an error in the Swift 6 language mode
364 |             }
365 |         }
/Users/admin/builder/spi-builder-workspace/code/model/QuizEvent.swift:11:13: note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public enum QuizEvent: Equatable, CustomStringConvertible {
   |             `- note: consider making enum 'QuizEvent' conform to the 'Sendable' protocol
12 |
13 |     case keyRequired
/Users/admin/builder/spi-builder-workspace/code/SwiftQuiz.swift:375:13: warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 12 | typealias QuestionKey = UUID
 13 |
 14 | public class SwiftQuiz {
    |              `- note: class 'SwiftQuiz' does not conform to the 'Sendable' protocol
 15 |
 16 |     public typealias PackageQuizResult = Result<Void, Error>
    :
373 |     private func invokeCallback(with error: QuizError) {
374 |         externalQueue.async { [weak self] in
375 |             self?.errorCallbacks.forEach { callback in
    |             `- warning: capture of 'self' with non-sendable type 'SwiftQuiz?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
376 |                 callback(error)
377 |             }
[61/63] Compiling SwiftQuiz RoundModel.swift
[62/63] Compiling SwiftQuiz Command.swift
[63/63] Compiling SwiftQuiz QuizFactory.swift
Build complete! (39.67s)
Fetching https://github.com/rwbutler/LetterCase
Fetching https://github.com/rwbutler/Hash
Fetching https://github.com/krisk/fuse-swift
[1/285] Fetching hash
[10/976] Fetching hash, fuse-swift
[300/1224] Fetching hash, fuse-swift, lettercase
Fetched https://github.com/rwbutler/Hash from cache (0.88s)
Fetched https://github.com/rwbutler/LetterCase from cache (0.88s)
Fetched https://github.com/krisk/fuse-swift from cache (0.88s)
Computing version for https://github.com/krisk/fuse-swift
Computed https://github.com/krisk/fuse-swift at 1.4.0 (0.68s)
Computing version for https://github.com/rwbutler/Hash
Computed https://github.com/rwbutler/Hash at 1.5.0 (2.72s)
Computing version for https://github.com/rwbutler/LetterCase
Computed https://github.com/rwbutler/LetterCase at 1.6.1 (0.66s)
Creating working copy for https://github.com/krisk/fuse-swift
Working copy of https://github.com/krisk/fuse-swift resolved at 1.4.0
Creating working copy for https://github.com/rwbutler/LetterCase
Working copy of https://github.com/rwbutler/LetterCase resolved at 1.6.1
Creating working copy for https://github.com/rwbutler/Hash
Working copy of https://github.com/rwbutler/Hash resolved at 1.5.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "hash",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/rwbutler/Hash"
    },
    {
      "identity" : "lettercase",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/rwbutler/LetterCase"
    },
    {
      "identity" : "fuse-swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/krisk/fuse-swift"
    }
  ],
  "manifest_display_name" : "swift-quiz",
  "name" : "swift-quiz",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "8.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "SwiftQuiz",
      "targets" : [
        "SwiftQuiz"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftQuiz",
      "module_type" : "SwiftTarget",
      "name" : "SwiftQuiz",
      "path" : "code",
      "product_dependencies" : [
        "Hash",
        "LetterCase",
        "Fuse"
      ],
      "product_memberships" : [
        "SwiftQuiz"
      ],
      "sources" : [
        "SwiftQuiz.swift",
        "combine/Publishers.swift",
        "combine/QuizPublisher.swift",
        "combine/QuizSubscription.swift",
        "extensions/ArrayAdditions.swift",
        "extensions/StringAdditions.swift",
        "model/CodableError.swift",
        "model/MultipleAnswer.swift",
        "model/MultipleChoice.swift",
        "model/PackageQuizResult.swift",
        "model/PackagingError.swift",
        "model/Question.swift",
        "model/Quiz.swift",
        "model/QuizConfiguration.swift",
        "model/QuizError.swift",
        "model/QuizEvent.swift",
        "model/QuizType.swift",
        "model/Round.swift",
        "model/ShortAnswer.swift",
        "services/QuizServices.swift",
        "services/access-control/definition/AccessControlService.swift",
        "services/access-control/implementation/DefaultAccessControlService.swift",
        "services/access-control/model/Flagpole.swift",
        "services/images/definition/ImagesService.swift",
        "services/marking/definition/MarkingService.swift",
        "services/marking/implementation/DefaultMarkingService.swift",
        "services/marking/model/MarkingFrequency.swift",
        "services/marking/model/MarkingSubmission.swift",
        "services/messaging/definition/MessagingService.swift",
        "services/messaging/implementation/SlackMessagingService.swift",
        "services/parsing/definition/ParsingService.swift",
        "services/parsing/implementation/CodableParsingService.swift",
        "services/parsing/model/QuestionModel.swift",
        "services/parsing/model/QuizModel.swift",
        "services/parsing/model/RoundModel.swift",
        "shell/Command.swift",
        "shell/QuizFactory.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.