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 Blessed, reference 0.6.0 (e7c730), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 11:54:50 UTC.

Swift 6 data race errors: 3

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

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/trilemma-dev/Blessed.git
Reference: 0.6.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/trilemma-dev/Blessed
 * tag               0.6.0      -> FETCH_HEAD
HEAD is now at e7c730e Merge pull request #16 from trilemma-dev/bless-only
Cloned https://github.com/trilemma-dev/Blessed.git
Revision (git rev-parse @):
e7c730ea4bcd2df7b61f022dbd38c5cdc2c875de
SUCCESS checkout https://github.com/trilemma-dev/Blessed.git at 0.6.0
Fetching https://github.com/trilemma-dev/EmbeddedPropertyList.git
Fetching https://github.com/trilemma-dev/Authorized.git
Fetching https://github.com/trilemma-dev/Required.git
[3/36] Fetching authorized
[37/193] Fetching authorized, embeddedpropertylist
[116/469] Fetching authorized, embeddedpropertylist, required
Fetched https://github.com/trilemma-dev/Authorized.git from cache (0.80s)
Fetched https://github.com/trilemma-dev/EmbeddedPropertyList.git from cache (0.80s)
Fetched https://github.com/trilemma-dev/Required.git from cache (0.80s)
Computing version for https://github.com/trilemma-dev/Authorized.git
Computed https://github.com/trilemma-dev/Authorized.git at 1.0.0 (0.64s)
Computing version for https://github.com/trilemma-dev/Required.git
Computed https://github.com/trilemma-dev/Required.git at 0.1.1 (0.65s)
Computing version for https://github.com/trilemma-dev/EmbeddedPropertyList.git
Computed https://github.com/trilemma-dev/EmbeddedPropertyList.git at 2.0.2 (0.62s)
Creating working copy for https://github.com/trilemma-dev/Required.git
Working copy of https://github.com/trilemma-dev/Required.git resolved at 0.1.1
Creating working copy for https://github.com/trilemma-dev/Authorized.git
Working copy of https://github.com/trilemma-dev/Authorized.git resolved at 1.0.0
Creating working copy for https://github.com/trilemma-dev/EmbeddedPropertyList.git
Working copy of https://github.com/trilemma-dev/EmbeddedPropertyList.git resolved at 2.0.2
========================================
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": "blessed",
      "name": "Blessed",
      "url": "https://github.com/trilemma-dev/Blessed.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Blessed",
      "dependencies": [
        {
          "identity": "embeddedpropertylist",
          "name": "EmbeddedPropertyList",
          "url": "https://github.com/trilemma-dev/EmbeddedPropertyList.git",
          "version": "2.0.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/EmbeddedPropertyList",
          "dependencies": [
          ]
        },
        {
          "identity": "required",
          "name": "Required",
          "url": "https://github.com/trilemma-dev/Required.git",
          "version": "0.1.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Required",
          "dependencies": [
          ]
        },
        {
          "identity": "authorized",
          "name": "Authorized",
          "url": "https://github.com/trilemma-dev/Authorized.git",
          "version": "1.0.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Authorized",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/trilemma-dev/Blessed.git
[1/173] Fetching blessed
Fetched https://github.com/trilemma-dev/Blessed.git from cache (0.74s)
Fetching https://github.com/trilemma-dev/Authorized.git from cache
Fetching https://github.com/trilemma-dev/Required.git from cache
Fetching https://github.com/trilemma-dev/EmbeddedPropertyList.git from cache
Fetched https://github.com/trilemma-dev/Required.git from cache (0.48s)
Fetched https://github.com/trilemma-dev/EmbeddedPropertyList.git from cache (0.48s)
Fetched https://github.com/trilemma-dev/Authorized.git from cache (0.48s)
Computing version for https://github.com/trilemma-dev/Authorized.git
Computed https://github.com/trilemma-dev/Authorized.git at 1.0.0 (0.02s)
Computing version for https://github.com/trilemma-dev/Required.git
Computed https://github.com/trilemma-dev/Required.git at 0.1.1 (0.02s)
Computing version for https://github.com/trilemma-dev/EmbeddedPropertyList.git
Computed https://github.com/trilemma-dev/EmbeddedPropertyList.git at 2.0.2 (0.02s)
Creating working copy for https://github.com/trilemma-dev/Blessed.git
Working copy of https://github.com/trilemma-dev/Blessed.git resolved at 0.6.0 (e7c730e)
Creating working copy for https://github.com/trilemma-dev/EmbeddedPropertyList.git
Working copy of https://github.com/trilemma-dev/EmbeddedPropertyList.git resolved at 2.0.2
Creating working copy for https://github.com/trilemma-dev/Required.git
Working copy of https://github.com/trilemma-dev/Required.git resolved at 0.1.1
Creating working copy for https://github.com/trilemma-dev/Authorized.git
Working copy of https://github.com/trilemma-dev/Authorized.git resolved at 1.0.0
warning: '.resolve-product-dependencies': dependency 'blessed' is not used by any target
Found 3 product dependencies
  - EmbeddedPropertyList
  - Required
  - Authorized
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/trilemma-dev/Blessed.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
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version--7754E27361AE5C74.txt
[6/54] Compiling Required IdentifierConstraint.swift
[7/54] Compiling Required InfoConstraint.swift
[8/54] Compiling Required KeyExpression.swift
[9/54] Compiling Required MatchExpression.swift
[10/58] Compiling Required WildcardString.swift
[11/58] Compiling Required Token.swift
[12/58] Compiling Required TokenizationError.swift
[13/58] Compiling Required Tokenizer.swift
[14/58] Compiling EmbeddedPropertyList BundleVersion.swift
[15/58] Compiling EmbeddedPropertyList ReadError.swift
[16/58] Compiling EmbeddedPropertyList EmbeddedPropertyListReader.swift
[17/58] Emitting module EmbeddedPropertyList
[18/58] Compiling Required NegationRequirement.swift
[19/58] Compiling Required OrRequirement.swift
[20/58] Compiling Required ParenthesesRequirement.swift
[21/58] Compiling Required Parser.swift
[22/58] Compiling Authorized AuthorizationError.swift
[23/58] Compiling Authorized AuthorizationOption.swift
[24/58] Compiling Authorized AuthorizationPolicyDatabase.swift
[25/58] Compiling Required SecCertificate+Extensions.swift
[26/58] Compiling Required SecCode+Extensions.swift
[27/58] Compiling Required SecRequirement+Extensions.swift
[28/58] Compiling Required SecStaticCode+Extensions.swift
[29/58] Compiling Required CertificateConstraint.swift
[30/58] Compiling Required CodeDirectoryHashConstraint.swift
[31/58] Compiling Required Constraint.swift
[32/58] Compiling Required EntitlementConstraint.swift
[33/58] Compiling Required Evaluation.swift
[34/58] Compiling Required IdentifierConstraint+Evaluate.swift
[35/58] Compiling Required InfoConstraint+Evaluate.swift
[36/58] Compiling Required MatchExpression+Evaluate.swift
[37/58] Compiling Required NegationRequirement+Evaluate.swift
[38/58] Compiling Required SecTask+Extensions.swift
[39/58] Compiling Required SecurityCommon.swift
[40/58] Compiling Required SecurityError.swift
[41/58] Compiling Required AndRequirement.swift
[42/58] Compiling Required ParserError.swift
[43/58] Compiling Required Requirement.swift
[44/58] Compiling Required RequirementSet.swift
[45/58] Compiling Required Symbols.swift
[46/58] Emitting module Required
[47/58] Compiling Required OrRequirement+Evaluate.swift
[48/58] Compiling Required ParenthesesRequirement+Evaluate.swift
[49/58] Compiling Required Requirement+Evaluate.swift
[50/58] Compiling Required Data+Extensions.swift
[51/58] Compiling Required CompileAndParse.swift
[52/58] Compiling Required AndRequirement+Evaluate.swift
[53/58] Compiling Required CertificateConstraint+Evaluate.swift
[54/58] Compiling Required CodeDirectoryHashConstraint+Evaluate.swift
[55/58] Compiling Required EntitlementConstraint+Evaluate.swift
[56/58] Emitting module Authorized
[57/58] Compiling Authorized AuthorizationElements.swift
[58/58] Compiling Authorized Authorization.swift
[59/62] Compiling Blessed ProcessInfo+Sandbox.swift
[60/62] Emitting module Blessed
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 25 |
 26 |     /// The shared privileged helper manager for the process.
 27 |     public static var shared = PrivilegedHelperManager()
    |                       |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'shared' 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
 28 |
 29 |     /// Submits a privileged helper tool as a launchd job.
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:182:16: warning: static property 'blessPrivilegedHelper' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
180 |     /// When using this to check or request rights, ``AuthorizationEnvironmentEntry/forPrompt(message:)`` and
181 |     /// ``AuthorizationEnvironmentEntry/forIcon(_:)`` can be specified as environment entries.
182 |     static let blessPrivilegedHelper = AuthorizationRight(name: kSMRightBlessPrivilegedHelper)
    |                `- warning: static property 'blessPrivilegedHelper' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
183 |
184 |     /// Authorization right for modifying system daemons.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Authorized/Sources/Authorized/AuthorizationElements.swift:57:15: note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
 55 | /// - ``createOrUpdateDefinition(rules:authorization:descriptionKey:bundle:localeTableName:comment:)``
 56 | /// - ``removeDefinition(authorization:)``
 57 | public struct AuthorizationRight: AuthorizationElement {
    |               `- note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
 58 |     /// The name of this authorization right.
 59 |     public let name: String
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Authorized'
  6 | //
  7 |
  8 | import Authorized
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Authorized'
  9 | import Foundation
 10 | import ServiceManagement
    :
180 |     /// When using this to check or request rights, ``AuthorizationEnvironmentEntry/forPrompt(message:)`` and
181 |     /// ``AuthorizationEnvironmentEntry/forIcon(_:)`` can be specified as environment entries.
182 |     static let blessPrivilegedHelper = AuthorizationRight(name: kSMRightBlessPrivilegedHelper)
    |                |- note: annotate 'blessPrivilegedHelper' 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
183 |
184 |     /// Authorization right for modifying system daemons.
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:185:16: warning: static property 'modifySystemsDaemon' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
183 |
184 |     /// Authorization right for modifying system daemons.
185 |     static let modifySystemsDaemon = AuthorizationRight(name: kSMRightModifySystemDaemons)
    |                |- warning: static property 'modifySystemsDaemon' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'modifySystemsDaemon' 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
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Authorized/Sources/Authorized/AuthorizationElements.swift:57:15: note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
 55 | /// - ``createOrUpdateDefinition(rules:authorization:descriptionKey:bundle:localeTableName:comment:)``
 56 | /// - ``removeDefinition(authorization:)``
 57 | public struct AuthorizationRight: AuthorizationElement {
    |               `- note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
 58 |     /// The name of this authorization right.
 59 |     public let name: String
[61/62] Compiling Blessed BlessError.swift
[62/62] Compiling Blessed PrivilegedHelperManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 25 |
 26 |     /// The shared privileged helper manager for the process.
 27 |     public static var shared = PrivilegedHelperManager()
    |                       |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'shared' 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
 28 |
 29 |     /// Submits a privileged helper tool as a launchd job.
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:182:16: warning: static property 'blessPrivilegedHelper' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
180 |     /// When using this to check or request rights, ``AuthorizationEnvironmentEntry/forPrompt(message:)`` and
181 |     /// ``AuthorizationEnvironmentEntry/forIcon(_:)`` can be specified as environment entries.
182 |     static let blessPrivilegedHelper = AuthorizationRight(name: kSMRightBlessPrivilegedHelper)
    |                `- warning: static property 'blessPrivilegedHelper' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
183 |
184 |     /// Authorization right for modifying system daemons.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Authorized/Sources/Authorized/AuthorizationElements.swift:57:15: note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
 55 | /// - ``createOrUpdateDefinition(rules:authorization:descriptionKey:bundle:localeTableName:comment:)``
 56 | /// - ``removeDefinition(authorization:)``
 57 | public struct AuthorizationRight: AuthorizationElement {
    |               `- note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
 58 |     /// The name of this authorization right.
 59 |     public let name: String
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Authorized'
  6 | //
  7 |
  8 | import Authorized
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Authorized'
  9 | import Foundation
 10 | import ServiceManagement
    :
180 |     /// When using this to check or request rights, ``AuthorizationEnvironmentEntry/forPrompt(message:)`` and
181 |     /// ``AuthorizationEnvironmentEntry/forIcon(_:)`` can be specified as environment entries.
182 |     static let blessPrivilegedHelper = AuthorizationRight(name: kSMRightBlessPrivilegedHelper)
    |                |- note: annotate 'blessPrivilegedHelper' 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
183 |
184 |     /// Authorization right for modifying system daemons.
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:185:16: warning: static property 'modifySystemsDaemon' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
183 |
184 |     /// Authorization right for modifying system daemons.
185 |     static let modifySystemsDaemon = AuthorizationRight(name: kSMRightModifySystemDaemons)
    |                |- warning: static property 'modifySystemsDaemon' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'modifySystemsDaemon' 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
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Authorized/Sources/Authorized/AuthorizationElements.swift:57:15: note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
 55 | /// - ``createOrUpdateDefinition(rules:authorization:descriptionKey:bundle:localeTableName:comment:)``
 56 | /// - ``removeDefinition(authorization:)``
 57 | public struct AuthorizationRight: AuthorizationElement {
    |               `- note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
 58 |     /// The name of this authorization right.
 59 |     public let name: String
Build complete! (28.88s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "embeddedpropertylist",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.2",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/trilemma-dev/EmbeddedPropertyList.git"
    },
    {
      "identity" : "required",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.1.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/trilemma-dev/Required.git"
    },
    {
      "identity" : "authorized",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/trilemma-dev/Authorized.git"
    }
  ],
  "manifest_display_name" : "Blessed",
  "name" : "Blessed",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.10"
    }
  ],
  "products" : [
    {
      "name" : "Blessed",
      "targets" : [
        "Blessed"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "BlessedTests",
      "module_type" : "SwiftTarget",
      "name" : "BlessedTests",
      "path" : "Tests/BlessedTests",
      "sources" : [
        "Sandbox Tests.swift"
      ],
      "target_dependencies" : [
        "Blessed"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Blessed",
      "module_type" : "SwiftTarget",
      "name" : "Blessed",
      "path" : "Sources/Blessed",
      "product_dependencies" : [
        "Authorized",
        "EmbeddedPropertyList",
        "Required"
      ],
      "product_memberships" : [
        "Blessed"
      ],
      "sources" : [
        "BlessError.swift",
        "PrivilegedHelperManager.swift",
        "ProcessInfo+Sandbox.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.