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 Life, reference main (230acd), with Swift 6.1 for Linux on 26 Apr 2025 19:40:28 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/zntfdr/Life.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/zntfdr/Life
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 230acd2 Merge pull request #3 from zntfdr/swift-5.5-migration
Cloned https://github.com/zntfdr/Life.git
Revision (git rev-parse @):
230acd22b5441ed10eee376dd6d4da4b9c9978ed
SUCCESS checkout https://github.com/zntfdr/Life.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/zntfdr/Life.git
https://github.com/zntfdr/Life.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.1",
            "upper_bound" : "1.1.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swift-tools-support-core",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.2.4",
            "upper_bound" : "0.3.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-tools-support-core.git"
    }
  ],
  "manifest_display_name" : "Life",
  "name" : "Life",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Life",
      "targets" : [
        "Life"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "life-cli",
      "targets" : [
        "lifeCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "lifeCLI",
      "module_type" : "SwiftTarget",
      "name" : "lifeCLI",
      "path" : "Sources/lifeCLI",
      "product_dependencies" : [
        "SwiftToolsSupport-auto",
        "ArgumentParser"
      ],
      "product_memberships" : [
        "life-cli"
      ],
      "sources" : [
        "Command.swift",
        "Life.swift",
        "Mode.swift"
      ],
      "target_dependencies" : [
        "Life"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "LifeTests",
      "module_type" : "SwiftTarget",
      "name" : "LifeTests",
      "path" : "Tests/LifeTests",
      "sources" : [
        "CellTests.swift",
        "WorldAddTests.swift",
        "WorldContainsTests.swift",
        "WorldGenerationTests.swift",
        "WorldInitializationTests.swift",
        "WorldIsAliveTests.swift",
        "WorldNeighborsTests.swift",
        "WorldOscillatorPatternTests.swift",
        "WorldRemoveTests.swift",
        "WorldResetTests.swift",
        "WorldStillPatternTests.swift"
      ],
      "target_dependencies" : [
        "Life"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Life",
      "module_type" : "SwiftTarget",
      "name" : "Life",
      "path" : "Sources/Life",
      "product_memberships" : [
        "Life",
        "life-cli"
      ],
      "sources" : [
        "Cell.swift",
        "Mode.swift",
        "World.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-tools-support-core.git
Fetching https://github.com/apple/swift-argument-parser.git
[1/6718] Fetching swift-tools-support-core
[6719/21668] Fetching swift-tools-support-core, swift-argument-parser
Fetched https://github.com/apple/swift-tools-support-core.git from cache (0.69s)
Fetched https://github.com/apple/swift-argument-parser.git from cache (0.70s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.0.3 (1.17s)
Computing version for https://github.com/apple/swift-tools-support-core.git
Computed https://github.com/apple/swift-tools-support-core.git at 0.2.7 (0.52s)
Fetching https://github.com/apple/swift-system.git
[1/4353] Fetching swift-system
Fetched https://github.com/apple/swift-system.git from cache (0.28s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.1.1 (0.74s)
Creating working copy for https://github.com/apple/swift-tools-support-core.git
Working copy of https://github.com/apple/swift-tools-support-core.git resolved at 0.2.7
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.1.1
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.0.3
Building for debugging...
[0/22] Write sources
[8/22] Compiling TSCclibc process.c
[9/22] Compiling CSystem shims.c
[10/22] Compiling TSCclibc libc.c
[11/22] Write swift-version-24593BA9C3E375BF.txt
[13/51] Emitting module Life
[14/51] Emitting module ArgumentParserToolInfo
[15/51] Compiling ArgumentParserToolInfo ToolInfo.swift
[16/52] Compiling Life World.swift
[18/52] Compiling SystemPackage PlatformString.swift
[19/52] Compiling SystemPackage SystemString.swift
[20/54] Compiling Life Cell.swift
[21/54] Compiling Life Mode.swift
[22/55] Compiling SystemPackage FileOperations.swift
[23/55] Compiling SystemPackage FilePath.swift
[24/55] Compiling SystemPackage FilePathComponentView.swift
[25/55] Compiling SystemPackage FilePathComponents.swift
[26/55] Compiling SystemPackage FilePathParsing.swift
[27/55] Compiling SystemPackage FilePathString.swift
[28/55] Emitting module SystemPackage
[29/55] Wrapping AST for ArgumentParserToolInfo for debugging
[30/84] Wrapping AST for Life for debugging
[32/89] Compiling ArgumentParser CompletionKind.swift
[33/89] Compiling ArgumentParser Errors.swift
[34/89] Compiling ArgumentParser OptionGroup.swift
[35/89] Compiling ArgumentParser CommandConfiguration.swift
[36/89] Compiling ArgumentParser EnumerableFlag.swift
[37/89] Compiling TSCLibc libc.swift
[38/89] Emitting module TSCLibc
[39/90] Compiling ArgumentParser HelpGenerator.swift
[40/90] Compiling ArgumentParser MessageInfo.swift
[41/90] Compiling ArgumentParser UsageGenerator.swift
[42/90] Compiling ArgumentParser ParsableArguments.swift
[43/90] Compiling ArgumentParser ParsableArgumentsValidation.swift
[44/90] Compiling ArgumentParser ParsableCommand.swift
[45/90] Compiling ArgumentParser ArgumentDecoder.swift
[46/90] Compiling ArgumentParser ArgumentDefinition.swift
[47/90] Compiling ArgumentParser Option.swift
[49/91] Wrapping AST for TSCLibc for debugging
[50/91] Wrapping AST for SystemPackage for debugging
[52/131] Emitting module ArgumentParser
[53/135] Compiling ArgumentParser CollectionExtensions.swift
[54/135] Compiling ArgumentParser SequenceExtensions.swift
[55/135] Compiling ArgumentParser StringExtensions.swift
[56/135] Compiling ArgumentParser Tree.swift
[57/135] Compiling TSCBasic GraphAlgorithms.swift
[58/135] Compiling TSCBasic OSLog.swift
[59/135] Compiling TSCBasic ObjectIdentifierProtocol.swift
[60/135] Compiling TSCBasic OrderedDictionary.swift
[61/135] Compiling TSCBasic OrderedSet.swift
[62/135] Emitting module TSCBasic
[63/135] Compiling TSCBasic Await.swift
[64/135] Compiling TSCBasic Base64URL.swift
[65/135] Compiling TSCBasic ByteString.swift
[66/135] Compiling TSCBasic CStringArray.swift
[67/135] Compiling TSCBasic CacheableSequence.swift
[68/135] Compiling TSCBasic Closable.swift
[69/140] Compiling TSCBasic DictionaryLiteralExtensions.swift
[70/140] Compiling TSCBasic EditDistance.swift
[71/140] Compiling TSCBasic FileInfo.swift
[72/140] Compiling TSCBasic FileSystem.swift
[73/140] Compiling TSCBasic CodableResult.swift
[74/140] Compiling TSCBasic CollectionAlgorithms.swift
[75/140] Compiling TSCBasic CollectionExtensions.swift
[76/140] Compiling TSCBasic Condition.swift
[77/140] Compiling TSCBasic DeltaAlgorithm.swift
[78/140] Compiling TSCBasic DiagnosticsEngine.swift
[79/140] Compiling TSCBasic Process.swift
[80/140] Compiling TSCBasic ProcessEnv.swift
[81/140] Compiling TSCBasic ProcessSet.swift
[82/140] Compiling TSCBasic RegEx.swift
[83/140] Compiling TSCBasic DictionaryExtensions.swift
[88/140] Compiling TSCBasic JSONMapper.swift
[89/140] Compiling TSCBasic KeyedPair.swift
[90/140] Compiling TSCBasic LazyCache.swift
[91/140] Compiling TSCBasic Lock.swift
[92/140] Compiling TSCBasic PathShims.swift
[101/140] Compiling TSCBasic HashAlgorithms.swift
[102/140] Compiling TSCBasic JSON.swift
[106/140] Compiling TSCBasic SynchronizedQueue.swift
[107/140] Compiling TSCBasic TemporaryFile.swift
[130/141] Wrapping AST for ArgumentParser for debugging
[132/141] Compiling TSCBasic TerminalController.swift
[133/141] Compiling TSCBasic Thread.swift
[134/141] Compiling TSCBasic Tuple.swift
[135/141] Compiling TSCBasic WritableByteStream.swift
[136/141] Compiling TSCBasic misc.swift
[137/142] Wrapping AST for TSCBasic for debugging
[139/178] Compiling TSCUtility OSLog.swift
[140/178] Compiling TSCUtility OrderedZip.swift
[141/178] Compiling TSCUtility PersistenceCache.swift
[142/178] Compiling TSCUtility PkgConfig.swift
[143/178] Compiling TSCUtility Platform.swift
[144/183] Emitting module TSCUtility
[145/183] Compiling TSCUtility Bitstream.swift
[146/183] Compiling TSCUtility BitstreamReader.swift
[147/183] Compiling TSCUtility BitstreamWriter.swift
[148/183] Compiling TSCUtility BuildFlags.swift
[149/183] Compiling TSCUtility CollectionExtensions.swift
[150/183] Compiling TSCUtility PolymorphicCodable.swift
[151/183] Compiling TSCUtility ProgressAnimation.swift
[152/183] Compiling TSCUtility SQLite.swift
[153/183] Compiling TSCUtility SerializedDiagnostics.swift
[154/183] Compiling TSCUtility SimplePersistence.swift
[155/183] Compiling TSCUtility Hex.swift
[156/183] Compiling TSCUtility IndexStore.swift
[157/183] Compiling TSCUtility InterruptHandler.swift
[158/183] Compiling TSCUtility JSONMessageStreamingParser.swift
[159/183] Compiling TSCUtility Netrc.swift
[160/183] Compiling TSCUtility Context.swift
[161/183] Compiling TSCUtility Diagnostics.swift
[162/183] Compiling TSCUtility FSWatch.swift
[163/183] Compiling TSCUtility FloatingPointExtensions.swift
[164/183] Compiling TSCUtility Git.swift
[165/183] Compiling TSCUtility StringExtensions.swift
[166/183] Compiling TSCUtility StringMangling.swift
[167/183] Compiling TSCUtility Tracing.swift
[168/183] Compiling TSCUtility Triple.swift
[169/183] Compiling TSCUtility URL.swift
[170/183] Compiling TSCUtility Verbosity.swift
[171/183] Compiling TSCUtility Version.swift
[172/183] Compiling TSCUtility Versioning.swift
[173/183] Compiling TSCUtility dlopen.swift
[174/183] Compiling TSCUtility misc.swift
[175/183] Compiling TSCUtility Archiver.swift
[176/183] Compiling TSCUtility ArgumentParser.swift
[177/183] Compiling TSCUtility ArgumentParserShellCompletion.swift
[178/183] Compiling TSCUtility Array+Extensions.swift
[179/183] Compiling TSCUtility Bits.swift
[180/184] Wrapping AST for TSCUtility for debugging
[182/188] Compiling lifeCLI Command.swift
/host/spi-builder-workspace/Sources/lifeCLI/Command.swift:25:7: warning: reference to var 'stdoutStream' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
23 |     while !world.aliveCells.isEmpty {
24 |       printWorld(world)
25 |       stdoutStream.flush()
   |       `- warning: reference to var 'stdoutStream' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
26 |       usleep(generationPeriod)
27 |       world.spawnNextGeneration()
/host/spi-builder-workspace/.build/checkouts/swift-tools-support-core/Sources/TSCBasic/WritableByteStream.swift:783:12: note: var declared here
781 |
782 | /// Public stdout stream instance.
783 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
    |            `- note: var declared here
784 |     filePointer: TSCLibc.stdout,
785 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/lifeCLI/Command.swift:30:5: warning: reference to var 'stdoutStream' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
28 |       clearWorld()
29 |     }
30 |     stdoutStream.flush()
   |     `- warning: reference to var 'stdoutStream' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
31 |   }
32 |
/host/spi-builder-workspace/.build/checkouts/swift-tools-support-core/Sources/TSCBasic/WritableByteStream.swift:783:12: note: var declared here
781 |
782 | /// Public stdout stream instance.
783 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
    |            `- note: var declared here
784 |     filePointer: TSCLibc.stdout,
785 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/lifeCLI/Command.swift:48:7: warning: reference to var 'stdoutStream' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
46 |   func clearWorld() {
47 |     for _ in 0..<rows {
48 |       stdoutStream <<< "\u{001B}[2K\r\u{001B}[1A" // clear entire row & go up one row
   |       `- warning: reference to var 'stdoutStream' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
49 |     }
50 |   }
/host/spi-builder-workspace/.build/checkouts/swift-tools-support-core/Sources/TSCBasic/WritableByteStream.swift:783:12: note: var declared here
781 |
782 | /// Public stdout stream instance.
783 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
    |            `- note: var declared here
784 |     filePointer: TSCLibc.stdout,
785 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/lifeCLI/Command.swift:60:7: warning: reference to var 'stdoutStream' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
58 |         line += world.isCellAlive(cell) ? "█" : " "
59 |       }
60 |       stdoutStream <<< "\(line)\u{001B}[0m\n"
   |       `- warning: reference to var 'stdoutStream' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
61 |     }
62 |   }
/host/spi-builder-workspace/.build/checkouts/swift-tools-support-core/Sources/TSCBasic/WritableByteStream.swift:783:12: note: var declared here
781 |
782 | /// Public stdout stream instance.
783 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
    |            `- note: var declared here
784 |     filePointer: TSCLibc.stdout,
785 |     closeOnDeinit: false))
[183/188] Compiling lifeCLI Life.swift
[184/188] Emitting module lifeCLI
/host/spi-builder-workspace/Sources/lifeCLI/Mode.swift:4:1: warning: extension declares a conformance of imported type 'Mode' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'Life' introduce this conformance in the future
 2 | import Life
 3 |
 4 | extension Mode: ExpressibleByArgument {
   | |- warning: extension declares a conformance of imported type 'Mode' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'Life' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 5 |   public init?(argument: String) {
 6 |     switch argument {
[185/188] Compiling lifeCLI Mode.swift
/host/spi-builder-workspace/Sources/lifeCLI/Mode.swift:4:1: warning: extension declares a conformance of imported type 'Mode' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'Life' introduce this conformance in the future
 2 | import Life
 3 |
 4 | extension Mode: ExpressibleByArgument {
   | |- warning: extension declares a conformance of imported type 'Mode' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'Life' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 5 |   public init?(argument: String) {
 6 |     switch argument {
[186/189] Wrapping AST for lifeCLI for debugging
[187/189] Write Objects.LinkFileList
[188/189] Linking life-cli
Build complete! (18.11s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.1",
            "upper_bound" : "1.1.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swift-tools-support-core",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.2.4",
            "upper_bound" : "0.3.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-tools-support-core.git"
    }
  ],
  "manifest_display_name" : "Life",
  "name" : "Life",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Life",
      "targets" : [
        "Life"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "life-cli",
      "targets" : [
        "lifeCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "lifeCLI",
      "module_type" : "SwiftTarget",
      "name" : "lifeCLI",
      "path" : "Sources/lifeCLI",
      "product_dependencies" : [
        "SwiftToolsSupport-auto",
        "ArgumentParser"
      ],
      "product_memberships" : [
        "life-cli"
      ],
      "sources" : [
        "Command.swift",
        "Life.swift",
        "Mode.swift"
      ],
      "target_dependencies" : [
        "Life"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "LifeTests",
      "module_type" : "SwiftTarget",
      "name" : "LifeTests",
      "path" : "Tests/LifeTests",
      "sources" : [
        "CellTests.swift",
        "WorldAddTests.swift",
        "WorldContainsTests.swift",
        "WorldGenerationTests.swift",
        "WorldInitializationTests.swift",
        "WorldIsAliveTests.swift",
        "WorldNeighborsTests.swift",
        "WorldOscillatorPatternTests.swift",
        "WorldRemoveTests.swift",
        "WorldResetTests.swift",
        "WorldStillPatternTests.swift"
      ],
      "target_dependencies" : [
        "Life"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Life",
      "module_type" : "SwiftTarget",
      "name" : "Life",
      "path" : "Sources/Life",
      "product_memberships" : [
        "Life",
        "life-cli"
      ],
      "sources" : [
        "Cell.swift",
        "Mode.swift",
        "World.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.