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 CryptorECC, reference 1.2.201 (148526), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 05:11:35 UTC.

Swift 6 data race errors: 6

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Kitura/BlueECC.git
Reference: 1.2.201
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Kitura/BlueECC
 * tag               1.2.201    -> FETCH_HEAD
HEAD is now at 1485268 Update podspec to specify Swift 5.2 as the minimum supported
Cloned https://github.com/Kitura/BlueECC.git
Revision (git rev-parse @):
1485268a54f8135435a825a855e733f026fa6cc8
SUCCESS checkout https://github.com/Kitura/BlueECC.git at 1.2.201
========================================
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": "blueecc",
      "name": "CryptorECC",
      "url": "https://github.com/Kitura/BlueECC.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/BlueECC",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/Kitura/BlueECC.git
[11/1021] Fetching blueecc
Fetched https://github.com/Kitura/BlueECC.git from cache (0.96s)
Creating working copy for https://github.com/Kitura/BlueECC.git
Working copy of https://github.com/Kitura/BlueECC.git resolved at 1.2.201 (1485268)
warning: '.resolve-product-dependencies': dependency 'blueecc' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/Kitura/BlueECC.git
https://github.com/Kitura/BlueECC.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "CryptorECC",
  "name" : "CryptorECC",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "CryptorECC",
      "targets" : [
        "CryptorECC"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CryptorECCTests",
      "module_type" : "SwiftTarget",
      "name" : "CryptorECCTests",
      "path" : "Tests/CryptorECCTests",
      "sources" : [
        "CryptorECCTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "CryptorECC"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CryptorECC",
      "module_type" : "SwiftTarget",
      "name" : "CryptorECC",
      "path" : "Sources/CryptorECC",
      "product_memberships" : [
        "CryptorECC"
      ],
      "sources" : [
        "ASN1.swift",
        "Data+Extensions.swift",
        "ECDecryptable.swift",
        "ECEncryptable.swift",
        "ECError.swift",
        "ECPrivateKey.swift",
        "ECPublicKey.swift",
        "ECSignable.swift",
        "ECSignature.swift",
        "EllipticCurve.swift",
        "SSLPointerTricks.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/13] Compiling CryptorECC ECError.swift
[4/14] Emitting module CryptorECC
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:36:23: warning: static property 'prime256v1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 34 |
 35 |     /// A prime256v1 curve.
 36 |     public static let prime256v1 = EllipticCurve.p256
    |                       |- warning: static property 'prime256v1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'prime256v1' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |
 38 |     /// A secp384r1 curve.
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:39:23: warning: static property 'secp384r1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 37 |
 38 |     /// A secp384r1 curve.
 39 |     public static let secp384r1 = EllipticCurve.p384
    |                       |- warning: static property 'secp384r1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'secp384r1' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     /// A secp521r1 curve.
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:42:23: warning: static property 'secp521r1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 40 |
 41 |     /// A secp521r1 curve.
 42 |     public static let secp521r1 = EllipticCurve.p521
    |                       |- warning: static property 'secp521r1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'secp521r1' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |
 44 |     /// Checks if two Curves are equal, required for Equatable protocol.
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:88:16: warning: static property 'p256' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 86 |     #else
 87 |     /// Secure Hash Algorithm 2 256-bit
 88 |     static let p256 = EllipticCurve(internalRepresentation: .prime256v1,
    |                |- warning: static property 'p256' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'p256' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 89 |                                     signingAlgorithm: .ecdsaSignatureDigestX962SHA256,
 90 |                                     hashEngine: CC_SHA256,
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:95:16: warning: static property 'p384' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 93 |
 94 |     /// Secure Hash Algorithm 2 384-bit
 95 |     static let p384 = EllipticCurve(internalRepresentation: .secp384r1,
    |                |- warning: static property 'p384' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'p384' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 96 |                                     signingAlgorithm: .ecdsaSignatureDigestX962SHA384,
 97 |                                     hashEngine: CC_SHA384,
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:102:16: warning: static property 'p521' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
100 |
101 |     /// Secure Hash Algorithm 512-bit
102 |     static let p521 = EllipticCurve(internalRepresentation: .secp521r1,
    |                |- warning: static property 'p521' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'p521' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |                                     signingAlgorithm: .ecdsaSignatureDigestX962SHA512,
104 |                                     hashEngine: CC_SHA512,
[5/14] Compiling CryptorECC ECPrivateKey.swift
[6/14] Compiling CryptorECC ASN1.swift
[7/14] Compiling CryptorECC Data+Extensions.swift
[8/14] Compiling CryptorECC ECDecryptable.swift
[9/14] Compiling CryptorECC EllipticCurve.swift
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:36:23: warning: static property 'prime256v1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 34 |
 35 |     /// A prime256v1 curve.
 36 |     public static let prime256v1 = EllipticCurve.p256
    |                       |- warning: static property 'prime256v1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'prime256v1' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |
 38 |     /// A secp384r1 curve.
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:39:23: warning: static property 'secp384r1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 37 |
 38 |     /// A secp384r1 curve.
 39 |     public static let secp384r1 = EllipticCurve.p384
    |                       |- warning: static property 'secp384r1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'secp384r1' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     /// A secp521r1 curve.
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:42:23: warning: static property 'secp521r1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 40 |
 41 |     /// A secp521r1 curve.
 42 |     public static let secp521r1 = EllipticCurve.p521
    |                       |- warning: static property 'secp521r1' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'secp521r1' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |
 44 |     /// Checks if two Curves are equal, required for Equatable protocol.
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:88:16: warning: static property 'p256' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 86 |     #else
 87 |     /// Secure Hash Algorithm 2 256-bit
 88 |     static let p256 = EllipticCurve(internalRepresentation: .prime256v1,
    |                |- warning: static property 'p256' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'p256' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 89 |                                     signingAlgorithm: .ecdsaSignatureDigestX962SHA256,
 90 |                                     hashEngine: CC_SHA256,
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:95:16: warning: static property 'p384' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
 93 |
 94 |     /// Secure Hash Algorithm 2 384-bit
 95 |     static let p384 = EllipticCurve(internalRepresentation: .secp384r1,
    |                |- warning: static property 'p384' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'p384' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 96 |                                     signingAlgorithm: .ecdsaSignatureDigestX962SHA384,
 97 |                                     hashEngine: CC_SHA384,
/Users/admin/builder/spi-builder-workspace/Sources/CryptorECC/EllipticCurve.swift:102:16: warning: static property 'p521' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// An extensible list of elliptic curves supported by this repository.
 25 | @available(macOS 10.13, iOS 11, watchOS 4.0, tvOS 11.0, *)
 26 | public struct EllipticCurve: Equatable, CustomStringConvertible {
    |               `- note: consider making struct 'EllipticCurve' conform to the 'Sendable' protocol
 27 |
 28 |     private let internalRepresentation: InternalRepresentation
    :
100 |
101 |     /// Secure Hash Algorithm 512-bit
102 |     static let p521 = EllipticCurve(internalRepresentation: .secp521r1,
    |                |- warning: static property 'p521' is not concurrency-safe because non-'Sendable' type 'EllipticCurve' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'p521' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |                                     signingAlgorithm: .ecdsaSignatureDigestX962SHA512,
104 |                                     hashEngine: CC_SHA512,
[10/14] Compiling CryptorECC ECPublicKey.swift
[11/14] Compiling CryptorECC ECEncryptable.swift
[12/14] Compiling CryptorECC ECSignable.swift
[13/14] Compiling CryptorECC ECSignature.swift
[14/14] Compiling CryptorECC SSLPointerTricks.swift
Build complete! (6.03s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "CryptorECC",
  "name" : "CryptorECC",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "CryptorECC",
      "targets" : [
        "CryptorECC"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CryptorECCTests",
      "module_type" : "SwiftTarget",
      "name" : "CryptorECCTests",
      "path" : "Tests/CryptorECCTests",
      "sources" : [
        "CryptorECCTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "CryptorECC"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CryptorECC",
      "module_type" : "SwiftTarget",
      "name" : "CryptorECC",
      "path" : "Sources/CryptorECC",
      "product_memberships" : [
        "CryptorECC"
      ],
      "sources" : [
        "ASN1.swift",
        "Data+Extensions.swift",
        "ECDecryptable.swift",
        "ECEncryptable.swift",
        "ECError.swift",
        "ECPrivateKey.swift",
        "ECPublicKey.swift",
        "ECSignable.swift",
        "ECSignature.swift",
        "EllipticCurve.swift",
        "SSLPointerTricks.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.