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 QSH, reference master (bb1a56), with Swift 6.0 for macOS (SPM) on 27 Nov 2024 16:49:20 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/rwbutler/QSH.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/rwbutler/QSH
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at bb1a56b Merge pull request #1 from rwbutler/add-license-1
Cloned https://github.com/rwbutler/QSH.git
Revision (git rev-parse @):
bb1a56b55d638317636183cd64ad8a4139064387
SUCCESS checkout https://github.com/rwbutler/QSH.git at master
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/JohnSundell/ShellOut
Fetching https://github.com/rwbutler/swift-quiz
[1/256] Fetching swift-quiz
[204/1216] Fetching swift-quiz, shellout
[1217/13611] Fetching swift-quiz, shellout, swift-argument-parser
Fetched https://github.com/JohnSundell/ShellOut from cache (1.59s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.59s)
Fetched https://github.com/rwbutler/swift-quiz from cache (1.59s)
Computing version for https://github.com/JohnSundell/ShellOut
Computed https://github.com/JohnSundell/ShellOut at 2.3.0 (2.43s)
Computing version for https://github.com/rwbutler/swift-quiz
Computed https://github.com/rwbutler/swift-quiz at 0.1.0 (0.55s)
Fetching https://github.com/krisk/fuse-swift
Fetching https://github.com/rwbutler/Hash
Fetching https://github.com/rwbutler/LetterCase
[1/285] Fetching hash
[7/976] Fetching hash, fuse-swift
[104/1224] Fetching hash, fuse-swift, lettercase
Fetched https://github.com/rwbutler/LetterCase from cache (0.85s)
Fetched https://github.com/rwbutler/Hash from cache (0.85s)
Fetched https://github.com/krisk/fuse-swift from cache (0.85s)
Computing version for https://github.com/krisk/fuse-swift
Computed https://github.com/krisk/fuse-swift at 1.4.0 (0.54s)
Computing version for https://github.com/rwbutler/Hash
Computed https://github.com/rwbutler/Hash at 1.5.0 (0.52s)
Computing version for https://github.com/rwbutler/LetterCase
Computed https://github.com/rwbutler/LetterCase at 1.6.1 (0.53s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 0.5.0 (0.51s)
Creating working copy for https://github.com/rwbutler/Hash
Working copy of https://github.com/rwbutler/Hash resolved at 1.5.0
Creating working copy for https://github.com/rwbutler/swift-quiz
Working copy of https://github.com/rwbutler/swift-quiz resolved at 0.1.0
Creating working copy for https://github.com/JohnSundell/ShellOut
Working copy of https://github.com/JohnSundell/ShellOut resolved at 2.3.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 0.5.0
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
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "qsh",
      "name": "QSH",
      "url": "https://github.com/rwbutler/QSH.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/QSH",
      "dependencies": [
        {
          "identity": "swift-argument-parser",
          "name": "swift-argument-parser",
          "url": "https://github.com/apple/swift-argument-parser",
          "version": "0.5.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
          "dependencies": [
          ]
        },
        {
          "identity": "shellout",
          "name": "ShellOut",
          "url": "https://github.com/JohnSundell/ShellOut",
          "version": "2.3.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ShellOut",
          "dependencies": [
          ]
        },
        {
          "identity": "swift-quiz",
          "name": "swift-quiz",
          "url": "https://github.com/rwbutler/swift-quiz",
          "version": "0.1.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-quiz",
          "dependencies": [
            {
              "identity": "hash",
              "name": "Hash",
              "url": "https://github.com/rwbutler/Hash",
              "version": "1.5.0",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Hash",
              "dependencies": [
              ]
            },
            {
              "identity": "lettercase",
              "name": "LetterCase",
              "url": "https://github.com/rwbutler/LetterCase",
              "version": "1.6.1",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/LetterCase",
              "dependencies": [
              ]
            },
            {
              "identity": "fuse-swift",
              "name": "Fuse",
              "url": "https://github.com/krisk/fuse-swift",
              "version": "1.4.0",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/fuse-swift",
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/rwbutler/QSH.git
[1/278] Fetching qsh
Fetched https://github.com/rwbutler/QSH.git from cache (0.97s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetching https://github.com/rwbutler/swift-quiz from cache
Fetching https://github.com/JohnSundell/ShellOut from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.60s)
Fetched https://github.com/rwbutler/swift-quiz from cache (0.60s)
Fetched https://github.com/JohnSundell/ShellOut from cache (0.60s)
Computing version for https://github.com/JohnSundell/ShellOut
Computed https://github.com/JohnSundell/ShellOut at 2.3.0 (0.02s)
Computing version for https://github.com/rwbutler/swift-quiz
Computed https://github.com/rwbutler/swift-quiz at 0.1.0 (0.02s)
Fetching https://github.com/krisk/fuse-swift from cache
Fetching https://github.com/rwbutler/LetterCase from cache
Fetching https://github.com/rwbutler/Hash from cache
Fetched https://github.com/krisk/fuse-swift from cache (0.47s)
Fetched https://github.com/rwbutler/LetterCase from cache (0.50s)
Fetched https://github.com/rwbutler/Hash from cache (0.50s)
Computing version for https://github.com/krisk/fuse-swift
Computed https://github.com/krisk/fuse-swift at 1.4.0 (0.02s)
Computing version for https://github.com/rwbutler/Hash
Computed https://github.com/rwbutler/Hash at 1.5.0 (0.02s)
Computing version for https://github.com/rwbutler/LetterCase
Computed https://github.com/rwbutler/LetterCase at 1.6.1 (0.02s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 0.5.0 (0.02s)
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/Hash
Working copy of https://github.com/rwbutler/Hash resolved at 1.5.0
Creating working copy for https://github.com/rwbutler/QSH.git
Working copy of https://github.com/rwbutler/QSH.git resolved at master (bb1a56b)
Creating working copy for https://github.com/JohnSundell/ShellOut
Working copy of https://github.com/JohnSundell/ShellOut resolved at 2.3.0
Creating working copy for https://github.com/rwbutler/swift-quiz
Working copy of https://github.com/rwbutler/swift-quiz resolved at 0.1.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/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 0.5.0
Found 3 product dependencies
  - swift-argument-parser
  - ShellOut
  - swift-quiz
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/rwbutler/QSH.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/13] Write sources
[5/13] Write qsh-entitlement.plist
[5/13] Write sources
[9/13] Write swift-version--7754E27361AE5C74.txt
[11/36] Emitting module ArgumentParserToolInfo
[12/36] Compiling ArgumentParserToolInfo ToolInfo.swift
[13/71] Compiling ArgumentParser CommandConfiguration.swift
[14/71] Compiling ArgumentParser EnumerableFlag.swift
[15/71] Compiling ArgumentParser ExpressibleByArgument.swift
[16/71] Compiling ArgumentParser ParsableArguments.swift
[17/74] Compiling ArgumentParser BashCompletionsGenerator.swift
[18/74] Compiling ArgumentParser CompletionsGenerator.swift
[19/74] Compiling ArgumentParser FishCompletionsGenerator.swift
[20/74] Compiling ArgumentParser ZshCompletionsGenerator.swift
[21/74] Compiling ArgumentParser Argument.swift
[22/74] Compiling ArgumentParser ArgumentHelp.swift
[23/74] Compiling ArgumentParser CompletionKind.swift
[24/74] Compiling ArgumentParser Errors.swift
[25/74] Compiling ArgumentParser Flag.swift
[26/74] Compiling ArgumentParser NameSpecification.swift
[27/74] Compiling ArgumentParser Option.swift
[28/74] Compiling ArgumentParser OptionGroup.swift
[29/74] Compiling ArgumentParser SequenceExtensions.swift
[30/74] Compiling ArgumentParser StringExtensions.swift
[31/74] Compiling ArgumentParser Tree.swift
[32/74] Compiling ArgumentParser ParsableArgumentsValidation.swift
[33/74] Compiling ArgumentParser ParsableCommand.swift
[34/74] Compiling ArgumentParser ArgumentDecoder.swift
[35/74] Compiling ArgumentParser ArgumentDefinition.swift
[36/74] Emitting module ArgumentParser
[37/74] Compiling Fuse String+Fuse.swift
[38/74] Compiling Hash HMAC.swift
[39/75] Emitting module ShellOut
[40/75] Compiling ShellOut ShellOut.swift
[41/75] Compiling LetterCase KeyDecodingStrategyAdditions.swift
[42/75] Compiling LetterCase LetterCaseOptions.swift
[43/75] Emitting module LetterCase
[44/75] Compiling LetterCase StringAdditions.swift
[45/75] Compiling LetterCase LetterCase.swift
[46/75] Emitting module Hash
[47/75] Compiling Hash DecryptedData.swift
[48/75] Compiling ArgumentParser MessageInfo.swift
[49/75] Compiling ArgumentParser UsageGenerator.swift
[50/75] Compiling ArgumentParser CollectionExtensions.swift
[51/75] Compiling Fuse FuseUtilities.swift
[52/75] Emitting module Fuse
[53/75] Compiling Fuse Fuse.swift
[54/75] Compiling Hash Cryptable.swift
[55/75] Compiling ArgumentParser ArgumentSet.swift
[56/75] Compiling ArgumentParser CommandParser.swift
[57/75] Compiling ArgumentParser InputOrigin.swift
[58/75] Compiling ArgumentParser Name.swift
[59/75] Compiling ArgumentParser Parsed.swift
[60/75] Compiling ArgumentParser ParsedValues.swift
[61/75] Compiling ArgumentParser ParserError.swift
[62/75] Compiling ArgumentParser SplitArguments.swift
[63/75] Compiling ArgumentParser DumpHelpGenerator.swift
[64/75] Compiling ArgumentParser HelpCommand.swift
[65/75] Compiling ArgumentParser HelpGenerator.swift
[66/75] Compiling Hash StringAdditions.swift
[67/75] Compiling Hash EncryptedData.swift
[68/75] Compiling Hash HashAlgorithm.swift
[69/75] Compiling Hash Hash.swift
[70/75] Compiling Hash DataAdditions.swift
[71/75] Compiling Hash EncryptionAlgorithm.swift
[72/75] Compiling Hash StringRepresentable.swift
[73/110] Compiling SwiftQuiz MessagingService.swift
[74/110] Compiling SwiftQuiz SlackMessagingService.swift
[75/110] Compiling SwiftQuiz ParsingService.swift
[76/113] Compiling SwiftQuiz QuizType.swift
[77/113] Compiling SwiftQuiz Round.swift
[78/113] Compiling SwiftQuiz ShortAnswer.swift
[79/113] Compiling SwiftQuiz QuizServices.swift
[80/113] Compiling SwiftQuiz MultipleChoice.swift
[81/113] Compiling SwiftQuiz PackageQuizResult.swift
[82/113] Compiling SwiftQuiz PackagingError.swift
[83/113] Compiling SwiftQuiz Question.swift
[84/113] Emitting module SwiftQuiz
[85/113] Compiling SwiftQuiz RoundModel.swift
[86/113] Compiling SwiftQuiz Command.swift
[87/113] Compiling SwiftQuiz QuizFactory.swift
[88/113] Compiling SwiftQuiz CodableParsingService.swift
[89/113] Compiling SwiftQuiz QuestionModel.swift
[90/113] Compiling SwiftQuiz QuizModel.swift
[91/113] Compiling SwiftQuiz Quiz.swift
[92/113] Compiling SwiftQuiz QuizConfiguration.swift
[93/113] Compiling SwiftQuiz QuizError.swift
[94/113] Compiling SwiftQuiz QuizEvent.swift
[95/113] Compiling SwiftQuiz AccessControlService.swift
[96/113] Compiling SwiftQuiz DefaultAccessControlService.swift
[97/113] Compiling SwiftQuiz Flagpole.swift
[98/113] Compiling SwiftQuiz ImagesService.swift
[99/113] Compiling SwiftQuiz ArrayAdditions.swift
[100/113] Compiling SwiftQuiz StringAdditions.swift
[101/113] Compiling SwiftQuiz CodableError.swift
[102/113] Compiling SwiftQuiz MultipleAnswer.swift
[103/113] Compiling SwiftQuiz MarkingService.swift
[104/113] Compiling SwiftQuiz DefaultMarkingService.swift
[105/113] Compiling SwiftQuiz MarkingFrequency.swift
[106/113] Compiling SwiftQuiz MarkingSubmission.swift
[107/113] Compiling SwiftQuiz SwiftQuiz.swift
[108/113] Compiling SwiftQuiz Publishers.swift
[109/113] Compiling SwiftQuiz QuizPublisher.swift
[110/113] Compiling SwiftQuiz QuizSubscription.swift
[111/123] Compiling QSH CommandLineImagesService.swift
[112/123] Compiling QSH ImagesService.swift
[113/123] Compiling QSH QuizServicesAdditions.swift
[114/123] Compiling QSH PlayQuiz.swift
[115/123] Compiling QSH URLAdditions.swift
/Users/admin/builder/spi-builder-workspace/code/parsing/URLAdditions.swift:11:1: warning: extension declares a conformance of imported type 'URL' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 9 | import ArgumentParser
10 |
11 | extension URL: ExpressibleByArgument {
   | |- warning: extension declares a conformance of imported type 'URL' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |     public init?(argument: String) {
13 |         self.init(string: argument)
[116/123] Compiling QSH QSH.swift
/Users/admin/builder/spi-builder-workspace/code/parsing/QSH.swift:13:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | struct QSH: ParsableCommand {
12 |
13 |     static var configuration = CommandConfiguration(
   |                |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'configuration' 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
14 |         abstract: "Interactive shell for playing quizzes through the macOS Terminal.",
15 |         version: applicationVersion,
[117/123] Compiling QSH PackageQuiz.swift
[118/123] Compiling QSH KeyDecodingStrategyAdditions.swift
[119/123] Compiling QSH main.swift
[120/123] Emitting module QSH
/Users/admin/builder/spi-builder-workspace/code/parsing/QSH.swift:13:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | struct QSH: ParsableCommand {
12 |
13 |     static var configuration = CommandConfiguration(
   |                |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'configuration' 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
14 |         abstract: "Interactive shell for playing quizzes through the macOS Terminal.",
15 |         version: applicationVersion,
/Users/admin/builder/spi-builder-workspace/code/parsing/URLAdditions.swift:11:1: warning: extension declares a conformance of imported type 'URL' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 9 | import ArgumentParser
10 |
11 | extension URL: ExpressibleByArgument {
   | |- warning: extension declares a conformance of imported type 'URL' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |     public init?(argument: String) {
13 |         self.init(string: argument)
[120/123] Write Objects.LinkFileList
[121/123] Linking qsh
[122/123] Applying qsh
Build complete! (22.93s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.2.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "shellout",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.3.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/JohnSundell/ShellOut"
    },
    {
      "identity" : "swift-quiz",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/rwbutler/swift-quiz"
    }
  ],
  "manifest_display_name" : "QSH",
  "name" : "QSH",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "qsh",
      "targets" : [
        "QSH"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "QSH",
      "module_type" : "SwiftTarget",
      "name" : "QSH",
      "path" : "code",
      "product_dependencies" : [
        "ArgumentParser",
        "ShellOut",
        "SwiftQuiz"
      ],
      "product_memberships" : [
        "qsh"
      ],
      "sources" : [
        "main.swift",
        "parsing/KeyDecodingStrategyAdditions.swift",
        "parsing/PackageQuiz.swift",
        "parsing/PlayQuiz.swift",
        "parsing/QSH.swift",
        "parsing/URLAdditions.swift",
        "services/QuizServicesAdditions.swift",
        "services/images/definition/ImagesService.swift",
        "services/images/implementation/CommandLineImagesService.swift"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.1"
}
Done.