The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of ConfigCat, reference 11.3.0 (1bebd1), with Swift 6.1 for macOS (SPM) on 13 Jun 2025 22:17:23 UTC.

Swift 6 data race errors: 8

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.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/configcat/swift-sdk.git
Reference: 11.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/configcat/swift-sdk
 * tag               11.3.0     -> FETCH_HEAD
HEAD is now at 1bebd19 Allow override extension (#51)
Cloned https://github.com/configcat/swift-sdk.git
Revision (git rev-parse @):
1bebd194c188103a2c3308ae9306903169fa1b5b
SUCCESS checkout https://github.com/configcat/swift-sdk.git at 11.3.0
========================================
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": "swift-sdk",
      "name": "ConfigCat",
      "url": "https://github.com/configcat/swift-sdk.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-sdk",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/configcat/swift-sdk.git
[1/3315] Fetching swift-sdk
Fetched https://github.com/configcat/swift-sdk.git from cache (0.95s)
Creating working copy for https://github.com/configcat/swift-sdk.git
Working copy of https://github.com/configcat/swift-sdk.git resolved at 11.3.0 (1bebd19)
warning: '.resolve-product-dependencies': dependency 'swift-sdk' 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/configcat/swift-sdk.git
https://github.com/configcat/swift-sdk.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ConfigCat",
  "name" : "ConfigCat",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "4.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "ConfigCat",
      "targets" : [
        "ConfigCat"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "Version",
      "module_type" : "SwiftTarget",
      "name" : "Version",
      "path" : "Sources/Version",
      "product_memberships" : [
        "ConfigCat"
      ],
      "sources" : [
        "Version.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ConfigCatTests",
      "module_type" : "SwiftTarget",
      "name" : "ConfigCatTests",
      "path" : "Tests/ConfigCatTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule/1_rule_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule/1_rule_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule/1_rule_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule/1_rule_not_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules/2_rules_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules/2_rules_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules/2_rules_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules/2_rules_not_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/_overrides/test_list_truncation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/and_rules.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/and_rules/and_rules_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/and_rules/and_rules_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/comparators.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/comparators/allinone.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/epoch_date_validation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/epoch_date_validation/date_error.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/list_truncation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/list_truncation/list_truncation.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/number_validation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/number_validation/number_error.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule/options_after_targeting_rule_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule/options_after_targeting_rule_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule/options_after_targeting_rule_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule/options_after_targeting_rule_not_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_custom_attr.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_custom_attr/matching_options_custom_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_custom_attr/no_options_custom_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_custom_attr/options_custom_attribute_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_user_id.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_user_id/options_user_attribute_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_user_id/options_user_attribute_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_matching_targeted_attribute_no_options_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_matching_targeted_attribute_options_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_not_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag_multilevel.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag_no_user_needed_by_both.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag_no_user_needed_by_dep.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag_no_user_needed_by_prereq.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_matching.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_no_matching.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_no_user_multi_conditions.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/semver_validation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/semver_validation/semver_error.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/semver_validation/semver_relations_error.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/double_setting.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/int_setting.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/off_flag.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/on_flag.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/text_setting.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/comparison_attribute_conversion.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/comparison_attribute_trimming.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/comparison_value_trimming.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/test_circulardependency_v6.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/test_override_flagdependency_v6.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_and_or.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_comparators_v6.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_number.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_prerequisite_flag.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_segments.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_segments_old.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_semantic.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_semantic_2.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_sensitive.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_unicode.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_variationId.csv",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "AsyncAwaitTests.swift",
        "AutoPollingTests.swift",
        "CacheTest.swift",
        "ConfigCatClientIntegrationTests.swift",
        "ConfigCatClientTests.swift",
        "ConfigFetcherTests.swift",
        "DataGovernanceTests.swift",
        "EvaluationDetailsExtensionTests.swift",
        "EvaluationLogTests.swift",
        "EvaluationTests.swift",
        "Helpers.swift",
        "LazyLoadingTests.swift",
        "LocalTests.swift",
        "ManualPollingTests.swift",
        "Mock.swift",
        "RolloutIntegrationV1Tests.swift",
        "RolloutIntegrationV2Tests.swift",
        "SnapshotTests.swift",
        "VariationIdTests.swift"
      ],
      "target_dependencies" : [
        "ConfigCat"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ConfigCat",
      "module_type" : "SwiftTarget",
      "name" : "ConfigCat",
      "path" : "Sources/ConfigCat",
      "product_memberships" : [
        "ConfigCat"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Resources/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Config.swift",
        "ConfigCache.swift",
        "ConfigCatClient.swift",
        "ConfigCatClientProtocol.swift",
        "ConfigCatClientSnapshot.swift",
        "ConfigCatOptions.swift",
        "ConfigCatUser.swift",
        "ConfigFetcher.swift",
        "ConfigService.swift",
        "EvaluationDetails.swift",
        "EvaluationLogger.swift",
        "Extensions.swift",
        "FlagEvaluator.swift",
        "KeyValue.swift",
        "LocalDictionaryDataSource.swift",
        "Log.swift",
        "MutableQueue.swift",
        "Mutex.swift",
        "OverrideBehaviour.swift",
        "OverrideDataSource.swift",
        "PollingMode.swift",
        "PollingModes.swift",
        "RolloutEvaluator.swift",
        "SnapshotBuilder.swift",
        "Synced.swift",
        "Utils.swift"
      ],
      "target_dependencies" : [
        "Version"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
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/4] Write sources
[2/4] Copying PrivacyInfo.xcprivacy
[3/4] Write swift-version-2F0A5646E1D333AE.txt
[5/6] Compiling Version Version.swift
[6/6] Emitting module Version
[7/32] Emitting module ConfigCat
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:165:5: warning: let 'comparatorTexts' is not concurrency-safe because non-'Sendable' type '[UserComparator : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 59 | }
 60 |
 61 | @objc public enum UserComparator: Int {
    |                   `- note: consider making enum 'UserComparator' conform to the 'Sendable' protocol
 62 |     case unknown = -1
 63 |     /// Checks whether the comparison attribute is equal to any of the comparison values.
    :
163 | }
164 |
165 | let comparatorTexts: [UserComparator: String] = [
    |     |- warning: let 'comparatorTexts' is not concurrency-safe because non-'Sendable' type '[UserComparator : String]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'comparatorTexts' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
166 |     .oneOf:                       "IS ONE OF",
167 |     .notOneOf:                    "IS NOT ONE OF",
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:270:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ConfigEntry' may have shared mutable state; this is an error in the Swift 6 language mode
206 | }
207 |
208 | class ConfigEntry: Equatable {
    |       `- note: class 'ConfigEntry' does not conform to the 'Sendable' protocol
209 |     static func ==(lhs: ConfigEntry, rhs: ConfigEntry) -> Bool {
210 |         lhs.eTag == rhs.eTag
    :
268 |     }
269 |
270 |     static let empty = ConfigEntry(eTag: "empty")
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ConfigEntry' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 | }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:340:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Config' may have shared mutable state; this is an error in the Swift 6 language mode
271 | }
272 |
273 | public class Config: NSObject, JsonSerializable {
    |              `- note: class 'Config' does not conform to the 'Sendable' protocol
274 |     static let preferencesKey = "p"
275 |     static let settingsKey = "f"
    :
338 |         }
339 |     }
340 |     static let empty = Config(preferences: .empty)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Config' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
341 | }
342 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:364:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Preferences' may have shared mutable state; this is an error in the Swift 6 language mode
341 | }
342 |
343 | class Preferences: JsonSerializable {
    |       `- note: class 'Preferences' does not conform to the 'Sendable' protocol
344 |     static let preferencesUrlKey = "u"
345 |     static let preferencesRedirectKey = "r"
    :
362 |     }
363 |
364 |     static let empty = Preferences(preferencesUrl: "", preferencesRedirect: .noRedirect, salt: nil)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Preferences' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
365 |
366 |     var isEmpty: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:22:24: warning: static property 'mutex' is not concurrency-safe because non-'Sendable' type 'Mutex' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |     private var closed: Bool = false
 21 |
 22 |     private static let mutex = Mutex()
    |                        |- warning: static property 'mutex' is not concurrency-safe because non-'Sendable' type 'Mutex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'mutex' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |     private static var instances: [String: Weak<ConfigCatClient>] = [:]
 24 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Mutex.swift:9:13: note: class 'Mutex' does not conform to the 'Sendable' protocol
 7 | import Foundation
 8 |
 9 | final class Mutex {
   |             `- note: class 'Mutex' does not conform to the 'Sendable' protocol
10 |     private let mutex: UnsafeMutablePointer<pthread_mutex_t> = UnsafeMutablePointer.allocate(capacity: 1)
11 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:23:24: warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 21 |
 22 |     private static let mutex = Mutex()
 23 |     private static var instances: [String: Weak<ConfigCatClient>] = [:]
    |                        |- warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instances' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instances' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |
 25 |     init(sdkKey: String,
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigService.swift:18:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SettingsResult' may have shared mutable state; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | class SettingsResult {
    |       `- note: class 'SettingsResult' does not conform to the 'Sendable' protocol
  4 |     let settings: [String: Setting]
  5 |     let fetchTime: Date
    :
 16 |     }
 17 |
 18 |     static let empty = SettingsResult(settings: [:], fetchTime: .distantPast)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SettingsResult' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 | }
 20 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Log.swift:21:16: warning: static property 'noLogger' is not concurrency-safe because non-'Sendable' type 'InternalLogger' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | class InternalLogger {
   |       `- note: class 'InternalLogger' does not conform to the 'Sendable' protocol
21 |     static let noLogger: InternalLogger = InternalLogger(log: NoLogger(), level: .nolog, hooks: Hooks())
   |                |- warning: static property 'noLogger' is not concurrency-safe because non-'Sendable' type 'InternalLogger' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'noLogger' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |     let log: ConfigCatLogger
23 |     let level: ConfigCatLogLevel
[8/34] Compiling ConfigCat Log.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Log.swift:21:16: warning: static property 'noLogger' is not concurrency-safe because non-'Sendable' type 'InternalLogger' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | class InternalLogger {
   |       `- note: class 'InternalLogger' does not conform to the 'Sendable' protocol
21 |     static let noLogger: InternalLogger = InternalLogger(log: NoLogger(), level: .nolog, hooks: Hooks())
   |                |- warning: static property 'noLogger' is not concurrency-safe because non-'Sendable' type 'InternalLogger' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'noLogger' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |     let log: ConfigCatLogger
23 |     let level: ConfigCatLogLevel
[9/34] Compiling ConfigCat MutableQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Log.swift:21:16: warning: static property 'noLogger' is not concurrency-safe because non-'Sendable' type 'InternalLogger' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | class InternalLogger {
   |       `- note: class 'InternalLogger' does not conform to the 'Sendable' protocol
21 |     static let noLogger: InternalLogger = InternalLogger(log: NoLogger(), level: .nolog, hooks: Hooks())
   |                |- warning: static property 'noLogger' is not concurrency-safe because non-'Sendable' type 'InternalLogger' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'noLogger' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |     let log: ConfigCatLogger
23 |     let level: ConfigCatLogLevel
[10/34] Compiling ConfigCat Mutex.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Log.swift:21:16: warning: static property 'noLogger' is not concurrency-safe because non-'Sendable' type 'InternalLogger' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | class InternalLogger {
   |       `- note: class 'InternalLogger' does not conform to the 'Sendable' protocol
21 |     static let noLogger: InternalLogger = InternalLogger(log: NoLogger(), level: .nolog, hooks: Hooks())
   |                |- warning: static property 'noLogger' is not concurrency-safe because non-'Sendable' type 'InternalLogger' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'noLogger' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |     let log: ConfigCatLogger
23 |     let level: ConfigCatLogLevel
[11/34] Compiling ConfigCat Utils.swift
[12/34] Compiling ConfigCat resource_bundle_accessor.swift
[13/34] Compiling ConfigCat SnapshotBuilder.swift
[14/34] Compiling ConfigCat Synced.swift
[15/34] Compiling ConfigCat ConfigCatUser.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigFetcher.swift:42:13: warning: capture of 'completion' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
 40 |     func get(request: URLRequest, completion: @escaping (Data?, URLResponse?, Error?) -> Void) {
 41 |         session.dataTask(with: request) { (data, resp, error) in
 42 |             completion(data, resp, error)
    |             |- warning: capture of 'completion' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 43 |         }.resume()
 44 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigService.swift:18:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SettingsResult' may have shared mutable state; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | class SettingsResult {
    |       `- note: class 'SettingsResult' does not conform to the 'Sendable' protocol
  4 |     let settings: [String: Setting]
  5 |     let fetchTime: Date
    :
 16 |     }
 17 |
 18 |     static let empty = SettingsResult(settings: [:], fetchTime: .distantPast)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SettingsResult' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 | }
 20 |
[16/34] Compiling ConfigCat ConfigFetcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigFetcher.swift:42:13: warning: capture of 'completion' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
 40 |     func get(request: URLRequest, completion: @escaping (Data?, URLResponse?, Error?) -> Void) {
 41 |         session.dataTask(with: request) { (data, resp, error) in
 42 |             completion(data, resp, error)
    |             |- warning: capture of 'completion' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 43 |         }.resume()
 44 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigService.swift:18:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SettingsResult' may have shared mutable state; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | class SettingsResult {
    |       `- note: class 'SettingsResult' does not conform to the 'Sendable' protocol
  4 |     let settings: [String: Setting]
  5 |     let fetchTime: Date
    :
 16 |     }
 17 |
 18 |     static let empty = SettingsResult(settings: [:], fetchTime: .distantPast)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SettingsResult' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 | }
 20 |
[17/34] Compiling ConfigCat ConfigService.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigFetcher.swift:42:13: warning: capture of 'completion' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
 40 |     func get(request: URLRequest, completion: @escaping (Data?, URLResponse?, Error?) -> Void) {
 41 |         session.dataTask(with: request) { (data, resp, error) in
 42 |             completion(data, resp, error)
    |             |- warning: capture of 'completion' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 43 |         }.resume()
 44 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigService.swift:18:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SettingsResult' may have shared mutable state; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | class SettingsResult {
    |       `- note: class 'SettingsResult' does not conform to the 'Sendable' protocol
  4 |     let settings: [String: Setting]
  5 |     let fetchTime: Date
    :
 16 |     }
 17 |
 18 |     static let empty = SettingsResult(settings: [:], fetchTime: .distantPast)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SettingsResult' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 | }
 20 |
[18/34] Compiling ConfigCat OverrideBehaviour.swift
[19/34] Compiling ConfigCat OverrideDataSource.swift
[20/34] Compiling ConfigCat PollingMode.swift
[21/34] Compiling ConfigCat EvaluationDetails.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:157:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
155 |                 getValue(for: key, defaultValue: defaultValue, user: user) {
156 |                     value in
157 |                     continuation.resume(returning: value)
    |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
158 |                 }
159 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:171:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
169 |                 getValue(for: key, defaultValue: defaultValue, user: user) {
170 |                     value in
171 |                     continuation.resume(returning: value)
    |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
172 |                 }
173 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:188:34: warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
186 |                     user: user
187 |                 ) { details in
188 |                     continuation.resume(returning: details)
    |                                  |- warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'details' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
189 |                 }
190 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:205:34: warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
203 |                     user: user
204 |                 ) { details in
205 |                     continuation.resume(returning: details)
    |                                  |- warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'details' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
206 |                 }
207 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:216:34: warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
214 |             await withUnsafeContinuation { continuation in
215 |                 getAllValueDetails(user: user) { details in
216 |                     continuation.resume(returning: details)
    |                                  |- warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'details' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
217 |                 }
218 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:234:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
232 |             await withUnsafeContinuation { continuation in
233 |                 getKeyAndValue(for: variationId) { value in
234 |                     continuation.resume(returning: value)
    |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
235 |                 }
236 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:245:34: warning: sending 'values' risks causing data races; this is an error in the Swift 6 language mode
243 |             await withUnsafeContinuation { continuation in
244 |                 getAllValues(user: user) { values in
245 |                     continuation.resume(returning: values)
    |                                  |- warning: sending 'values' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'values' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
246 |                 }
247 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:255:34: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
253 |             await withUnsafeContinuation { continuation in
254 |                 forceRefresh { result in
255 |                     continuation.resume(returning: result)
    |                                  |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
256 |                 }
257 |             }
[22/34] Compiling ConfigCat EvaluationLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:157:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
155 |                 getValue(for: key, defaultValue: defaultValue, user: user) {
156 |                     value in
157 |                     continuation.resume(returning: value)
    |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
158 |                 }
159 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:171:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
169 |                 getValue(for: key, defaultValue: defaultValue, user: user) {
170 |                     value in
171 |                     continuation.resume(returning: value)
    |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
172 |                 }
173 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:188:34: warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
186 |                     user: user
187 |                 ) { details in
188 |                     continuation.resume(returning: details)
    |                                  |- warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'details' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
189 |                 }
190 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:205:34: warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
203 |                     user: user
204 |                 ) { details in
205 |                     continuation.resume(returning: details)
    |                                  |- warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'details' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
206 |                 }
207 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:216:34: warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
214 |             await withUnsafeContinuation { continuation in
215 |                 getAllValueDetails(user: user) { details in
216 |                     continuation.resume(returning: details)
    |                                  |- warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'details' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
217 |                 }
218 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:234:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
232 |             await withUnsafeContinuation { continuation in
233 |                 getKeyAndValue(for: variationId) { value in
234 |                     continuation.resume(returning: value)
    |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
235 |                 }
236 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:245:34: warning: sending 'values' risks causing data races; this is an error in the Swift 6 language mode
243 |             await withUnsafeContinuation { continuation in
244 |                 getAllValues(user: user) { values in
245 |                     continuation.resume(returning: values)
    |                                  |- warning: sending 'values' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'values' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
246 |                 }
247 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:255:34: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
253 |             await withUnsafeContinuation { continuation in
254 |                 forceRefresh { result in
255 |                     continuation.resume(returning: result)
    |                                  |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
256 |                 }
257 |             }
[23/34] Compiling ConfigCat Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:157:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
155 |                 getValue(for: key, defaultValue: defaultValue, user: user) {
156 |                     value in
157 |                     continuation.resume(returning: value)
    |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
158 |                 }
159 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:171:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
169 |                 getValue(for: key, defaultValue: defaultValue, user: user) {
170 |                     value in
171 |                     continuation.resume(returning: value)
    |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
172 |                 }
173 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:188:34: warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
186 |                     user: user
187 |                 ) { details in
188 |                     continuation.resume(returning: details)
    |                                  |- warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'details' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
189 |                 }
190 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:205:34: warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
203 |                     user: user
204 |                 ) { details in
205 |                     continuation.resume(returning: details)
    |                                  |- warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'details' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
206 |                 }
207 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:216:34: warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
214 |             await withUnsafeContinuation { continuation in
215 |                 getAllValueDetails(user: user) { details in
216 |                     continuation.resume(returning: details)
    |                                  |- warning: sending 'details' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'details' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
217 |                 }
218 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:234:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
232 |             await withUnsafeContinuation { continuation in
233 |                 getKeyAndValue(for: variationId) { value in
234 |                     continuation.resume(returning: value)
    |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
235 |                 }
236 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:245:34: warning: sending 'values' risks causing data races; this is an error in the Swift 6 language mode
243 |             await withUnsafeContinuation { continuation in
244 |                 getAllValues(user: user) { values in
245 |                     continuation.resume(returning: values)
    |                                  |- warning: sending 'values' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'values' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
246 |                 }
247 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Extensions.swift:255:34: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
253 |             await withUnsafeContinuation { continuation in
254 |                 forceRefresh { result in
255 |                     continuation.resume(returning: result)
    |                                  |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
256 |                 }
257 |             }
[24/34] Compiling ConfigCat ConfigCatClientProtocol.swift
[25/34] Compiling ConfigCat ConfigCatClientSnapshot.swift
[26/34] Compiling ConfigCat ConfigCatOptions.swift
[27/34] Compiling ConfigCat PollingModes.swift
[28/34] Compiling ConfigCat RolloutEvaluator.swift
[29/34] Compiling ConfigCat FlagEvaluator.swift
[30/34] Compiling ConfigCat KeyValue.swift
[31/34] Compiling ConfigCat LocalDictionaryDataSource.swift
[32/34] Compiling ConfigCat Config.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:165:5: warning: let 'comparatorTexts' is not concurrency-safe because non-'Sendable' type '[UserComparator : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 59 | }
 60 |
 61 | @objc public enum UserComparator: Int {
    |                   `- note: consider making enum 'UserComparator' conform to the 'Sendable' protocol
 62 |     case unknown = -1
 63 |     /// Checks whether the comparison attribute is equal to any of the comparison values.
    :
163 | }
164 |
165 | let comparatorTexts: [UserComparator: String] = [
    |     |- warning: let 'comparatorTexts' is not concurrency-safe because non-'Sendable' type '[UserComparator : String]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'comparatorTexts' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
166 |     .oneOf:                       "IS ONE OF",
167 |     .notOneOf:                    "IS NOT ONE OF",
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:270:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ConfigEntry' may have shared mutable state; this is an error in the Swift 6 language mode
206 | }
207 |
208 | class ConfigEntry: Equatable {
    |       `- note: class 'ConfigEntry' does not conform to the 'Sendable' protocol
209 |     static func ==(lhs: ConfigEntry, rhs: ConfigEntry) -> Bool {
210 |         lhs.eTag == rhs.eTag
    :
268 |     }
269 |
270 |     static let empty = ConfigEntry(eTag: "empty")
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ConfigEntry' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 | }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:340:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Config' may have shared mutable state; this is an error in the Swift 6 language mode
271 | }
272 |
273 | public class Config: NSObject, JsonSerializable {
    |              `- note: class 'Config' does not conform to the 'Sendable' protocol
274 |     static let preferencesKey = "p"
275 |     static let settingsKey = "f"
    :
338 |         }
339 |     }
340 |     static let empty = Config(preferences: .empty)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Config' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
341 | }
342 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:364:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Preferences' may have shared mutable state; this is an error in the Swift 6 language mode
341 | }
342 |
343 | class Preferences: JsonSerializable {
    |       `- note: class 'Preferences' does not conform to the 'Sendable' protocol
344 |     static let preferencesUrlKey = "u"
345 |     static let preferencesRedirectKey = "r"
    :
362 |     }
363 |
364 |     static let empty = Preferences(preferencesUrl: "", preferencesRedirect: .noRedirect, salt: nil)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Preferences' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
365 |
366 |     var isEmpty: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:22:24: warning: static property 'mutex' is not concurrency-safe because non-'Sendable' type 'Mutex' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |     private var closed: Bool = false
 21 |
 22 |     private static let mutex = Mutex()
    |                        |- warning: static property 'mutex' is not concurrency-safe because non-'Sendable' type 'Mutex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'mutex' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |     private static var instances: [String: Weak<ConfigCatClient>] = [:]
 24 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Mutex.swift:9:13: note: class 'Mutex' does not conform to the 'Sendable' protocol
 7 | import Foundation
 8 |
 9 | final class Mutex {
   |             `- note: class 'Mutex' does not conform to the 'Sendable' protocol
10 |     private let mutex: UnsafeMutablePointer<pthread_mutex_t> = UnsafeMutablePointer.allocate(capacity: 1)
11 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:23:24: warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 21 |
 22 |     private static let mutex = Mutex()
 23 |     private static var instances: [String: Weak<ConfigCatClient>] = [:]
    |                        |- warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instances' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instances' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |
 25 |     init(sdkKey: String,
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:384:30: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
382 |         await withUnsafeContinuation { continuation in
383 |             hooks.addOnReady { state in
384 |                 continuation.resume(returning: state)
    |                              |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'state' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
385 |             }
386 |         }
[33/34] Compiling ConfigCat ConfigCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:165:5: warning: let 'comparatorTexts' is not concurrency-safe because non-'Sendable' type '[UserComparator : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 59 | }
 60 |
 61 | @objc public enum UserComparator: Int {
    |                   `- note: consider making enum 'UserComparator' conform to the 'Sendable' protocol
 62 |     case unknown = -1
 63 |     /// Checks whether the comparison attribute is equal to any of the comparison values.
    :
163 | }
164 |
165 | let comparatorTexts: [UserComparator: String] = [
    |     |- warning: let 'comparatorTexts' is not concurrency-safe because non-'Sendable' type '[UserComparator : String]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'comparatorTexts' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
166 |     .oneOf:                       "IS ONE OF",
167 |     .notOneOf:                    "IS NOT ONE OF",
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:270:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ConfigEntry' may have shared mutable state; this is an error in the Swift 6 language mode
206 | }
207 |
208 | class ConfigEntry: Equatable {
    |       `- note: class 'ConfigEntry' does not conform to the 'Sendable' protocol
209 |     static func ==(lhs: ConfigEntry, rhs: ConfigEntry) -> Bool {
210 |         lhs.eTag == rhs.eTag
    :
268 |     }
269 |
270 |     static let empty = ConfigEntry(eTag: "empty")
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ConfigEntry' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 | }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:340:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Config' may have shared mutable state; this is an error in the Swift 6 language mode
271 | }
272 |
273 | public class Config: NSObject, JsonSerializable {
    |              `- note: class 'Config' does not conform to the 'Sendable' protocol
274 |     static let preferencesKey = "p"
275 |     static let settingsKey = "f"
    :
338 |         }
339 |     }
340 |     static let empty = Config(preferences: .empty)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Config' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
341 | }
342 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:364:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Preferences' may have shared mutable state; this is an error in the Swift 6 language mode
341 | }
342 |
343 | class Preferences: JsonSerializable {
    |       `- note: class 'Preferences' does not conform to the 'Sendable' protocol
344 |     static let preferencesUrlKey = "u"
345 |     static let preferencesRedirectKey = "r"
    :
362 |     }
363 |
364 |     static let empty = Preferences(preferencesUrl: "", preferencesRedirect: .noRedirect, salt: nil)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Preferences' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
365 |
366 |     var isEmpty: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:22:24: warning: static property 'mutex' is not concurrency-safe because non-'Sendable' type 'Mutex' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |     private var closed: Bool = false
 21 |
 22 |     private static let mutex = Mutex()
    |                        |- warning: static property 'mutex' is not concurrency-safe because non-'Sendable' type 'Mutex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'mutex' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |     private static var instances: [String: Weak<ConfigCatClient>] = [:]
 24 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Mutex.swift:9:13: note: class 'Mutex' does not conform to the 'Sendable' protocol
 7 | import Foundation
 8 |
 9 | final class Mutex {
   |             `- note: class 'Mutex' does not conform to the 'Sendable' protocol
10 |     private let mutex: UnsafeMutablePointer<pthread_mutex_t> = UnsafeMutablePointer.allocate(capacity: 1)
11 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:23:24: warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 21 |
 22 |     private static let mutex = Mutex()
 23 |     private static var instances: [String: Weak<ConfigCatClient>] = [:]
    |                        |- warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instances' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instances' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |
 25 |     init(sdkKey: String,
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:384:30: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
382 |         await withUnsafeContinuation { continuation in
383 |             hooks.addOnReady { state in
384 |                 continuation.resume(returning: state)
    |                              |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'state' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
385 |             }
386 |         }
[34/34] Compiling ConfigCat ConfigCatClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:165:5: warning: let 'comparatorTexts' is not concurrency-safe because non-'Sendable' type '[UserComparator : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 59 | }
 60 |
 61 | @objc public enum UserComparator: Int {
    |                   `- note: consider making enum 'UserComparator' conform to the 'Sendable' protocol
 62 |     case unknown = -1
 63 |     /// Checks whether the comparison attribute is equal to any of the comparison values.
    :
163 | }
164 |
165 | let comparatorTexts: [UserComparator: String] = [
    |     |- warning: let 'comparatorTexts' is not concurrency-safe because non-'Sendable' type '[UserComparator : String]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'comparatorTexts' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
166 |     .oneOf:                       "IS ONE OF",
167 |     .notOneOf:                    "IS NOT ONE OF",
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:270:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ConfigEntry' may have shared mutable state; this is an error in the Swift 6 language mode
206 | }
207 |
208 | class ConfigEntry: Equatable {
    |       `- note: class 'ConfigEntry' does not conform to the 'Sendable' protocol
209 |     static func ==(lhs: ConfigEntry, rhs: ConfigEntry) -> Bool {
210 |         lhs.eTag == rhs.eTag
    :
268 |     }
269 |
270 |     static let empty = ConfigEntry(eTag: "empty")
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ConfigEntry' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 | }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:340:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Config' may have shared mutable state; this is an error in the Swift 6 language mode
271 | }
272 |
273 | public class Config: NSObject, JsonSerializable {
    |              `- note: class 'Config' does not conform to the 'Sendable' protocol
274 |     static let preferencesKey = "p"
275 |     static let settingsKey = "f"
    :
338 |         }
339 |     }
340 |     static let empty = Config(preferences: .empty)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Config' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
341 | }
342 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Config.swift:364:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Preferences' may have shared mutable state; this is an error in the Swift 6 language mode
341 | }
342 |
343 | class Preferences: JsonSerializable {
    |       `- note: class 'Preferences' does not conform to the 'Sendable' protocol
344 |     static let preferencesUrlKey = "u"
345 |     static let preferencesRedirectKey = "r"
    :
362 |     }
363 |
364 |     static let empty = Preferences(preferencesUrl: "", preferencesRedirect: .noRedirect, salt: nil)
    |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Preferences' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
365 |
366 |     var isEmpty: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:22:24: warning: static property 'mutex' is not concurrency-safe because non-'Sendable' type 'Mutex' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |     private var closed: Bool = false
 21 |
 22 |     private static let mutex = Mutex()
    |                        |- warning: static property 'mutex' is not concurrency-safe because non-'Sendable' type 'Mutex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'mutex' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |     private static var instances: [String: Weak<ConfigCatClient>] = [:]
 24 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Mutex.swift:9:13: note: class 'Mutex' does not conform to the 'Sendable' protocol
 7 | import Foundation
 8 |
 9 | final class Mutex {
   |             `- note: class 'Mutex' does not conform to the 'Sendable' protocol
10 |     private let mutex: UnsafeMutablePointer<pthread_mutex_t> = UnsafeMutablePointer.allocate(capacity: 1)
11 |
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:23:24: warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 21 |
 22 |     private static let mutex = Mutex()
 23 |     private static var instances: [String: Weak<ConfigCatClient>] = [:]
    |                        |- warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instances' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instances' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |
 25 |     init(sdkKey: String,
/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/ConfigCatClient.swift:384:30: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
382 |         await withUnsafeContinuation { continuation in
383 |             hooks.addOnReady { state in
384 |                 continuation.resume(returning: state)
    |                              |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'state' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
385 |             }
386 |         }
Build complete! (4.95s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ConfigCat",
  "name" : "ConfigCat",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "4.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "ConfigCat",
      "targets" : [
        "ConfigCat"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "Version",
      "module_type" : "SwiftTarget",
      "name" : "Version",
      "path" : "Sources/Version",
      "product_memberships" : [
        "ConfigCat"
      ],
      "sources" : [
        "Version.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ConfigCatTests",
      "module_type" : "SwiftTarget",
      "name" : "ConfigCatTests",
      "path" : "Tests/ConfigCatTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule/1_rule_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule/1_rule_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule/1_rule_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/1_targeting_rule/1_rule_not_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules/2_rules_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules/2_rules_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules/2_rules_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/2_targeting_rules/2_rules_not_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/_overrides/test_list_truncation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/and_rules.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/and_rules/and_rules_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/and_rules/and_rules_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/comparators.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/comparators/allinone.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/epoch_date_validation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/epoch_date_validation/date_error.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/list_truncation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/list_truncation/list_truncation.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/number_validation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/number_validation/number_error.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule/options_after_targeting_rule_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule/options_after_targeting_rule_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule/options_after_targeting_rule_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_after_targeting_rule/options_after_targeting_rule_not_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_custom_attr.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_custom_attr/matching_options_custom_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_custom_attr/no_options_custom_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_custom_attr/options_custom_attribute_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_user_id.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_user_id/options_user_attribute_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_based_on_user_id/options_user_attribute_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_matching_targeted_attribute_no_options_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_matching_targeted_attribute_options_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/options_within_targeting_rule/options_within_targeting_rule_not_matching_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag_multilevel.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag_no_user_needed_by_both.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag_no_user_needed_by_dep.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/prerequisite_flag/prerequisite_flag_no_user_needed_by_prereq.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_matching.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_no_matching.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_no_targeted_attribute.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_no_user.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/segment/segment_no_user_multi_conditions.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/semver_validation.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/semver_validation/semver_error.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/semver_validation/semver_relations_error.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/double_setting.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/int_setting.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/off_flag.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/on_flag.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/evaluationlog/simple_value/text_setting.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/comparison_attribute_conversion.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/comparison_attribute_trimming.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/comparison_value_trimming.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/test_circulardependency_v6.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/json/test_override_flagdependency_v6.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_and_or.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_comparators_v6.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_number.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_prerequisite_flag.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_segments.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_segments_old.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_semantic.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_semantic_2.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_sensitive.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_unicode.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConfigCatTests/Resources/testmatrix_variationId.csv",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "AsyncAwaitTests.swift",
        "AutoPollingTests.swift",
        "CacheTest.swift",
        "ConfigCatClientIntegrationTests.swift",
        "ConfigCatClientTests.swift",
        "ConfigFetcherTests.swift",
        "DataGovernanceTests.swift",
        "EvaluationDetailsExtensionTests.swift",
        "EvaluationLogTests.swift",
        "EvaluationTests.swift",
        "Helpers.swift",
        "LazyLoadingTests.swift",
        "LocalTests.swift",
        "ManualPollingTests.swift",
        "Mock.swift",
        "RolloutIntegrationV1Tests.swift",
        "RolloutIntegrationV2Tests.swift",
        "SnapshotTests.swift",
        "VariationIdTests.swift"
      ],
      "target_dependencies" : [
        "ConfigCat"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ConfigCat",
      "module_type" : "SwiftTarget",
      "name" : "ConfigCat",
      "path" : "Sources/ConfigCat",
      "product_memberships" : [
        "ConfigCat"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ConfigCat/Resources/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Config.swift",
        "ConfigCache.swift",
        "ConfigCatClient.swift",
        "ConfigCatClientProtocol.swift",
        "ConfigCatClientSnapshot.swift",
        "ConfigCatOptions.swift",
        "ConfigCatUser.swift",
        "ConfigFetcher.swift",
        "ConfigService.swift",
        "EvaluationDetails.swift",
        "EvaluationLogger.swift",
        "Extensions.swift",
        "FlagEvaluator.swift",
        "KeyValue.swift",
        "LocalDictionaryDataSource.swift",
        "Log.swift",
        "MutableQueue.swift",
        "Mutex.swift",
        "OverrideBehaviour.swift",
        "OverrideDataSource.swift",
        "PollingMode.swift",
        "PollingModes.swift",
        "RolloutEvaluator.swift",
        "SnapshotBuilder.swift",
        "Synced.swift",
        "Utils.swift"
      ],
      "target_dependencies" : [
        "Version"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.