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.