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 SemiSingleton, reference 2.1.0-beta.1 (a2bbad), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 00:56:03 UTC.

Swift 6 data race errors: 2

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/happn-app/SemiSingleton.git
Reference: 2.1.0-beta.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/happn-app/SemiSingleton
 * tag               2.1.0-beta.1 -> FETCH_HEAD
HEAD is now at a2bbad0 Dummy comment formatting fixes
Cloned https://github.com/happn-app/SemiSingleton.git
Revision (git rev-parse @):
a2bbad008641318f3f7faf2ec53e3bb8f0e080ff
SUCCESS checkout https://github.com/happn-app/SemiSingleton.git at 2.1.0-beta.1
Fetching https://github.com/happn-app/RecursiveSyncDispatch.git
Fetching https://github.com/apple/swift-log.git
[1/3709] Fetching swift-log
[150/3887] Fetching swift-log, recursivesyncdispatch
Fetched https://github.com/apple/swift-log.git from cache (1.05s)
Fetched https://github.com/happn-app/RecursiveSyncDispatch.git from cache (1.05s)
Computing version for https://github.com/happn-app/RecursiveSyncDispatch.git
Computed https://github.com/happn-app/RecursiveSyncDispatch.git at 1.0.1 (0.55s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.4.0 (0.54s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.4.0
Creating working copy for https://github.com/happn-app/RecursiveSyncDispatch.git
Working copy of https://github.com/happn-app/RecursiveSyncDispatch.git resolved at 1.0.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": "semisingleton",
      "name": "SemiSingleton",
      "url": "https://github.com/happn-app/SemiSingleton.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SemiSingleton",
      "dependencies": [
        {
          "identity": "swift-log",
          "name": "swift-log",
          "url": "https://github.com/apple/swift-log.git",
          "version": "1.6.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
          "dependencies": [
          ]
        },
        {
          "identity": "recursivesyncdispatch",
          "name": "RecursiveSyncDispatch",
          "url": "https://github.com/happn-app/RecursiveSyncDispatch.git",
          "version": "1.0.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/RecursiveSyncDispatch",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/happn-app/SemiSingleton.git
[5/421] Fetching semisingleton
Fetched https://github.com/happn-app/SemiSingleton.git from cache (0.75s)
Fetching https://github.com/happn-app/RecursiveSyncDispatch.git from cache
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-log.git from cache (0.47s)
Fetched https://github.com/happn-app/RecursiveSyncDispatch.git from cache (0.47s)
Computing version for https://github.com/happn-app/RecursiveSyncDispatch.git
Computed https://github.com/happn-app/RecursiveSyncDispatch.git at 1.0.1 (0.02s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.2 (0.42s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.2
Creating working copy for https://github.com/happn-app/RecursiveSyncDispatch.git
Working copy of https://github.com/happn-app/RecursiveSyncDispatch.git resolved at 1.0.1
Creating working copy for https://github.com/happn-app/SemiSingleton.git
Working copy of https://github.com/happn-app/SemiSingleton.git resolved at 2.1.0-beta.1 (a2bbad0)
warning: '.resolve-product-dependencies': dependency 'semisingleton' is not used by any target
Found 2 product dependencies
  - swift-log
  - RecursiveSyncDispatch
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/happn-app/SemiSingleton.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/4] Write sources
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/10] Emitting module Logging
[6/10] Compiling Logging Locks.swift
[7/10] Compiling Logging LogHandler.swift
[8/10] Compiling Logging Logging.swift
[9/10] Emitting module RecursiveSyncDispatch
[10/10] Compiling RecursiveSyncDispatch RecursiveSyncDispatch.swift
[11/14] Compiling SemiSingleton LinuxStrongToWeakMapTable.swift
[12/14] Compiling SemiSingleton SemiSingletonConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/SemiSingleton/SemiSingletonConfig.swift:45:20: warning: static property 'oslog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | #if canImport(os)
44 | 	@available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *)
45 | 	public static var oslog: OSLog? = .default
   |                    |- warning: static property 'oslog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'oslog' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'oslog' 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
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
/Users/admin/builder/spi-builder-workspace/Sources/SemiSingleton/SemiSingletonConfig.swift:47:20: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | 	public static var oslog: OSLog? = .default
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
   |                    |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'logger' 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
48 | #if canImport(os)
49 | 		if #available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *) {
[13/14] Emitting module SemiSingleton
/Users/admin/builder/spi-builder-workspace/Sources/SemiSingleton/SemiSingletonConfig.swift:45:20: warning: static property 'oslog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | #if canImport(os)
44 | 	@available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *)
45 | 	public static var oslog: OSLog? = .default
   |                    |- warning: static property 'oslog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'oslog' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'oslog' 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
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
/Users/admin/builder/spi-builder-workspace/Sources/SemiSingleton/SemiSingletonConfig.swift:47:20: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | 	public static var oslog: OSLog? = .default
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
   |                    |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'logger' 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
48 | #if canImport(os)
49 | 		if #available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *) {
[14/14] Compiling SemiSingleton SemiSingletonStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/SemiSingleton/SemiSingletonConfig.swift:45:20: warning: static property 'oslog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | #if canImport(os)
44 | 	@available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *)
45 | 	public static var oslog: OSLog? = .default
   |                    |- warning: static property 'oslog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'oslog' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'oslog' 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
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
/Users/admin/builder/spi-builder-workspace/Sources/SemiSingleton/SemiSingletonConfig.swift:47:20: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | 	public static var oslog: OSLog? = .default
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
   |                    |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'logger' 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
48 | #if canImport(os)
49 | 		if #available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *) {
Build complete! (6.73s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "recursivesyncdispatch",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/happn-app/RecursiveSyncDispatch.git"
    }
  ],
  "manifest_display_name" : "SemiSingleton",
  "name" : "SemiSingleton",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SemiSingleton",
      "targets" : [
        "SemiSingleton"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SemiSingletonTests",
      "module_type" : "SwiftTarget",
      "name" : "SemiSingletonTests",
      "path" : "Tests/SemiSingletonTests",
      "sources" : [
        "Helpers/ActorSemiSingleton.swift",
        "Helpers/ReentrantSemiSingletonInit.swift",
        "Helpers/SimpleSemiSingleton.swift",
        "SemiSingletonTests.swift"
      ],
      "target_dependencies" : [
        "SemiSingleton"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SemiSingleton",
      "module_type" : "SwiftTarget",
      "name" : "SemiSingleton",
      "path" : "Sources/SemiSingleton",
      "product_dependencies" : [
        "Logging",
        "RecursiveSyncDispatch"
      ],
      "product_memberships" : [
        "SemiSingleton"
      ],
      "sources" : [
        "LinuxStrongToWeakMapTable.swift",
        "SemiSingletonConfig.swift",
        "SemiSingletonStore.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.