This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 RuleKit with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 2

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/apparata/rulekit.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/apparata/rulekit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 2d72159 Update Package.swift
Cloned https://github.com/apparata/rulekit.git
Revision (git rev-parse @):
2d7215959d214dd5fadc3ae19167bef5482eaa84
SUCCESS checkout https://github.com/apparata/rulekit.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/apparata/rulekit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/22] Emitting module RuleKit
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Type Specific Rules/Int+Rules.swift:20:16: warning: static property 'even' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
18 | public extension Rule where Value == Int {
19 |
20 |     static let even: Rule = IsEvenIntRule()
   |                |- warning: static property 'even' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'even' 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
21 |     static let odd: Rule = .not(.even)
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Generic Rules/Rule.swift:7:14: note: generic class 'Rule' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | public class Rule<Value> {
   |              `- note: generic class 'Rule' does not conform to the 'Sendable' protocol
 8 |
 9 |     public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Type Specific Rules/Int+Rules.swift:21:16: warning: static property 'odd' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 |     static let even: Rule = IsEvenIntRule()
21 |     static let odd: Rule = .not(.even)
   |                |- warning: static property 'odd' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'odd' 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
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Generic Rules/Rule.swift:7:14: note: generic class 'Rule' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | public class Rule<Value> {
   |              `- note: generic class 'Rule' does not conform to the 'Sendable' protocol
 8 |
 9 |     public init() {}
[4/24] Compiling RuleKit SatisfyIdentical.swift
[5/24] Compiling RuleKit SatisfyLessThan.swift
[6/24] Compiling RuleKit SatisfyMoreThan.swift
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Type Specific Rules/Int+Rules.swift:20:16: warning: static property 'even' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
18 | public extension Rule where Value == Int {
19 |
20 |     static let even: Rule = IsEvenIntRule()
   |                |- warning: static property 'even' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'even' 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
21 |     static let odd: Rule = .not(.even)
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Generic Rules/Rule.swift:7:14: note: generic class 'Rule' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | public class Rule<Value> {
   |              `- note: generic class 'Rule' does not conform to the 'Sendable' protocol
 8 |
 9 |     public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Type Specific Rules/Int+Rules.swift:21:16: warning: static property 'odd' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 |     static let even: Rule = IsEvenIntRule()
21 |     static let odd: Rule = .not(.even)
   |                |- warning: static property 'odd' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'odd' 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
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Generic Rules/Rule.swift:7:14: note: generic class 'Rule' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | public class Rule<Value> {
   |              `- note: generic class 'Rule' does not conform to the 'Sendable' protocol
 8 |
 9 |     public init() {}
[7/24] Compiling RuleKit Int+Rules.swift
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Type Specific Rules/Int+Rules.swift:20:16: warning: static property 'even' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
18 | public extension Rule where Value == Int {
19 |
20 |     static let even: Rule = IsEvenIntRule()
   |                |- warning: static property 'even' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'even' 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
21 |     static let odd: Rule = .not(.even)
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Generic Rules/Rule.swift:7:14: note: generic class 'Rule' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | public class Rule<Value> {
   |              `- note: generic class 'Rule' does not conform to the 'Sendable' protocol
 8 |
 9 |     public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Type Specific Rules/Int+Rules.swift:21:16: warning: static property 'odd' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 |     static let even: Rule = IsEvenIntRule()
21 |     static let odd: Rule = .not(.even)
   |                |- warning: static property 'odd' is not concurrency-safe because non-'Sendable' type 'Rule<Int>' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'odd' 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
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/RuleKit/Generic Rules/Rule.swift:7:14: note: generic class 'Rule' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | public class Rule<Value> {
   |              `- note: generic class 'Rule' does not conform to the 'Sendable' protocol
 8 |
 9 |     public init() {}
[8/24] Compiling RuleKit SatisfyLessThanRules.swift
[9/24] Compiling RuleKit SatisfyMoreThanRules.swift
[10/24] Compiling RuleKit SatisfyExactlyOneRule.swift
[11/24] Compiling RuleKit SatisfyExactlyRules.swift
[12/24] Compiling RuleKit SatisfyAtLeastRules.swift
[13/24] Compiling RuleKit SatisfyAtMostRules.swift
[14/24] Compiling RuleKit SatisfyBothRule.swift
[15/24] Compiling RuleKit SatisfyEitherRule.swift
[16/24] Compiling RuleKit SatisfyAtMost.swift
[17/24] Compiling RuleKit SatisfyEquals.swift
[18/24] Compiling RuleKit Collection+Satisfies.swift
[19/24] Compiling RuleKit SatisfyAllRules.swift
[20/24] Compiling RuleKit SatisfyAnyRules.swift
[21/24] Compiling RuleKit Rule.swift
[22/24] Compiling RuleKit SatisfyAtLeast.swift
[23/24] Compiling RuleKit SatisfyNoRule.swift
[24/24] Compiling RuleKit SatisfyNotRule.swift
Build complete! (25.09s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "RuleKit",
  "name" : "RuleKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.14"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "RuleKit",
      "targets" : [
        "RuleKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RuleKitTests",
      "module_type" : "SwiftTarget",
      "name" : "RuleKitTests",
      "path" : "Tests/RuleKitTests",
      "sources" : [
        "RuleKitTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "RuleKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RuleKit",
      "module_type" : "SwiftTarget",
      "name" : "RuleKit",
      "path" : "Sources/RuleKit",
      "product_memberships" : [
        "RuleKit"
      ],
      "sources" : [
        "Collection Extensions/Collection+Satisfies.swift",
        "Generic Rules/Composite Rules/SatisfyAllRules.swift",
        "Generic Rules/Composite Rules/SatisfyAnyRules.swift",
        "Generic Rules/Composite Rules/SatisfyAtLeastRules.swift",
        "Generic Rules/Composite Rules/SatisfyAtMostRules.swift",
        "Generic Rules/Composite Rules/SatisfyBothRule.swift",
        "Generic Rules/Composite Rules/SatisfyEitherRule.swift",
        "Generic Rules/Composite Rules/SatisfyExactlyOneRule.swift",
        "Generic Rules/Composite Rules/SatisfyExactlyRules.swift",
        "Generic Rules/Composite Rules/SatisfyLessThanRules.swift",
        "Generic Rules/Composite Rules/SatisfyMoreThanRules.swift",
        "Generic Rules/Composite Rules/SatisfyNoRule.swift",
        "Generic Rules/Composite Rules/SatisfyNotRule.swift",
        "Generic Rules/Rule.swift",
        "Generic Rules/Value Rules/SatisfyAtLeast.swift",
        "Generic Rules/Value Rules/SatisfyAtMost.swift",
        "Generic Rules/Value Rules/SatisfyEquals.swift",
        "Generic Rules/Value Rules/SatisfyIdentical.swift",
        "Generic Rules/Value Rules/SatisfyLessThan.swift",
        "Generic Rules/Value Rules/SatisfyMoreThan.swift",
        "Type Specific Rules/Int+Rules.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.