The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Mixpanel, reference master (dbd9cd), with Swift 6.1 for macOS (SPM) on 10 Oct 2026 11:53:53 UTC.

Swift 6 data race errors: 11

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

/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:736:44: warning: capture of 'completion' with non-sendable type '(MixpanelFlagVariant) -> Void' in a '@Sendable' closure
 734 |                     self._trackFlagIfNeeded(flagName: flagName, variant: result)
 735 |                 }
 736 |                 DispatchQueue.main.async { completion(result) }
     |                                            |- warning: capture of 'completion' with non-sendable type '(MixpanelFlagVariant) -> Void' in a '@Sendable' closure
     |                                            `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 737 |
 738 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:731:45: warning: implicit capture of 'fallback' requires that 'MixpanelFlagVariant' conforms to 'Sendable'; this is an error in the Swift 6 language mode
  33 |
  34 | // Represents the variant associated with a feature flag
  35 | public struct MixpanelFlagVariant: Decodable {
     |               `- note: consider making struct 'MixpanelFlagVariant' conform to the 'Sendable' protocol
  36 |     public let key: String  // Corresponds to 'variant_key' from API
  37 |     public let value: Any?  // Corresponds to 'variant_value' from API
     :
 729 |                 // the fallback as `.flagNotFound` — same treatment the sync impl applies
 730 |                 // in _getVariantSyncImpl.
 731 |                 let result = flagVariant ?? fallback.withSource(.fallback(reason: .flagNotFound))
     |                                             `- warning: implicit capture of 'fallback' requires that 'MixpanelFlagVariant' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 732 |                 if flagVariant != nil, needsTrackingCheck {
 733 |                     // Perform atomic check-and-track
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:756:42: warning: capture of 'fallback' with non-sendable type 'MixpanelFlagVariant' in an isolated closure; this is an error in the Swift 6 language mode
  33 |
  34 | // Represents the variant associated with a feature flag
  35 | public struct MixpanelFlagVariant: Decodable {
     |               `- note: consider making struct 'MixpanelFlagVariant' conform to the 'Sendable' protocol
  36 |     public let key: String  // Corresponds to 'variant_key' from API
  37 |     public let value: Any?  // Corresponds to 'variant_value' from API
     :
 754 |                             // (e.g., the OpenFeature wrapper) can surface a backend/general error
 755 |                             // rather than a not-ready state.
 756 |                             let result = fallback.withSource(.fallback(reason: .backendError))
     |                                          `- warning: capture of 'fallback' with non-sendable type 'MixpanelFlagVariant' in an isolated closure; this is an error in the Swift 6 language mode
 757 |                             DispatchQueue.main.async { completion(result) }
 758 |                             return
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:757:56: warning: capture of 'completion' with non-sendable type '(MixpanelFlagVariant) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
 755 |                             // rather than a not-ready state.
 756 |                             let result = fallback.withSource(.fallback(reason: .backendError))
 757 |                             DispatchQueue.main.async { completion(result) }
     |                                                        |- warning: capture of 'completion' with non-sendable type '(MixpanelFlagVariant) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
     |                                                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 758 |                             return
 759 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:751:39: warning: capture of 'self' with non-sendable type 'FeatureFlagManager' in a '@Sendable' closure
 405 | // --- FeatureFlagManager Class ---
 406 |
 407 | class FeatureFlagManager: MixpanelFlags {
     |       `- note: class 'FeatureFlagManager' does not conform to the 'Sendable' protocol
 408 |
 409 |     weak var delegate: MixpanelFlagDelegate? {
     :
 749 |                     // variant from `flags` if present (persisted or network) else the fallback.
 750 |                     self.trackingQueue.async {
 751 |                         if !fetchOk, !self.areFlagsReady() {
     |                                       `- warning: capture of 'self' with non-sendable type 'FeatureFlagManager' in a '@Sendable' closure
 752 |                             // Fetch failed and we have no cached/persisted flags to fall back on —
 753 |                             // distinguish this from "flags never loaded" (.notReady) so callers
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:756:42: warning: capture of 'fallback' with non-sendable type 'MixpanelFlagVariant' in a '@Sendable' closure
  33 |
  34 | // Represents the variant associated with a feature flag
  35 | public struct MixpanelFlagVariant: Decodable {
     |               `- note: consider making struct 'MixpanelFlagVariant' conform to the 'Sendable' protocol
  36 |     public let key: String  // Corresponds to 'variant_key' from API
  37 |     public let value: Any?  // Corresponds to 'variant_value' from API
     :
 754 |                             // (e.g., the OpenFeature wrapper) can surface a backend/general error
 755 |                             // rather than a not-ready state.
 756 |                             let result = fallback.withSource(.fallback(reason: .backendError))
     |                                          `- warning: capture of 'fallback' with non-sendable type 'MixpanelFlagVariant' in a '@Sendable' closure
 757 |                             DispatchQueue.main.async { completion(result) }
 758 |                             return
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:757:56: warning: capture of 'completion' with non-sendable type '(MixpanelFlagVariant) -> Void' in a '@Sendable' closure
 755 |                             // rather than a not-ready state.
 756 |                             let result = fallback.withSource(.fallback(reason: .backendError))
 757 |                             DispatchQueue.main.async { completion(result) }
     |                                                        |- warning: capture of 'completion' with non-sendable type '(MixpanelFlagVariant) -> Void' in a '@Sendable' closure
     |                                                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 758 |                             return
 759 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:826:30: warning: capture of 'self' with non-sendable type 'FeatureFlagManager?' in a '@Sendable' closure
 405 | // --- FeatureFlagManager Class ---
 406 |
 407 | class FeatureFlagManager: MixpanelFlags {
     |       `- note: class 'FeatureFlagManager' does not conform to the 'Sendable' protocol
 408 |
 409 |     weak var delegate: MixpanelFlagDelegate? {
     :
 824 |     func getAllVariants(completion: @escaping ([String: MixpanelFlagVariant]) -> Void) {
 825 |         trackingQueue.async { [weak self] in
 826 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'FeatureFlagManager?' in a '@Sendable' closure
 827 |                 DispatchQueue.main.async { completion([:]) }
 828 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:827:44: warning: capture of 'completion' with non-sendable type '([String : MixpanelFlagVariant]) -> Void' in a '@Sendable' closure
 825 |         trackingQueue.async { [weak self] in
 826 |             guard let self = self else {
 827 |                 DispatchQueue.main.async { completion([:]) }
     |                                            |- warning: capture of 'completion' with non-sendable type '([String : MixpanelFlagVariant]) -> Void' in a '@Sendable' closure
     |                                            `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 828 |                 return
 829 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:859:48: warning: capture of 'completion' with non-sendable type '([String : MixpanelFlagVariant]) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
 857 |                 MixpanelLogger.debug(message: "Flags not yet servable, attempting fetch for getAllVariants...")
 858 |                 self._fetchFlagsIfNeeded { _ in
 859 |                     DispatchQueue.main.async { completion(self._getAllVariantsSyncImpl()) }
     |                                                |- warning: capture of 'completion' with non-sendable type '([String : MixpanelFlagVariant]) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
     |                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 860 |                 }
 861 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:1565:21: warning: capture of 'self' with non-sendable type 'FeatureFlagManager?' in a '@Sendable' closure
 405 | // --- FeatureFlagManager Class ---
 406 |
 407 | class FeatureFlagManager: MixpanelFlags {
     |       `- note: class 'FeatureFlagManager' does not conform to the 'Sendable' protocol
 408 |
 409 |     weak var delegate: MixpanelFlagDelegate? {
     :
1563 |                 DispatchQueue.global(qos: .userInitiated).async { [weak self] in
1564 |                     // Record to backend (fire-and-forget)
1565 |                     self?.recordFirstTimeEvent(
     |                     `- warning: capture of 'self' with non-sendable type 'FeatureFlagManager?' in a '@Sendable' closure
1566 |                         flagId: pendingEvent.flagId,
1567 |                         projectId: pendingEvent.projectId,
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:1566:33: warning: capture of 'pendingEvent' with non-sendable type 'PendingFirstTimeEvent' in a '@Sendable' closure
 166 |
 167 | /// Represents a pending first-time event definition from the flags endpoint
 168 | struct PendingFirstTimeEvent: Decodable {
     |        `- note: consider making struct 'PendingFirstTimeEvent' conform to the 'Sendable' protocol
 169 |     let flagKey: String
 170 |     let flagId: String
     :
1564 |                     // Record to backend (fire-and-forget)
1565 |                     self?.recordFirstTimeEvent(
1566 |                         flagId: pendingEvent.flagId,
     |                                 `- warning: capture of 'pendingEvent' with non-sendable type 'PendingFirstTimeEvent' in a '@Sendable' closure
1567 |                         projectId: pendingEvent.projectId,
1568 |                         firstTimeEventHash: pendingEvent.firstTimeEventHash,
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:1265:13: warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
1263 |
1264 |         DispatchQueue.main.async {
1265 |             handlers.forEach { $0(success) }
     |             |- warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'handlers' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1266 |         }
1267 |     }
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:875:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 873 |             // Dispatch completion to main queue to avoid potential deadlock
 874 |             DispatchQueue.main.async {
 875 |                 completion?(false)
     |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
     |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 876 |             }
 877 |             return  // Exit method
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:1420:13: warning: sending 'delegate' risks causing data races; this is an error in the Swift 6 language mode
1418 |         // Dispatch delegate call asynchronously to main thread for safety
1419 |         DispatchQueue.main.async {
1420 |             delegate.track(event: "$experiment_started", properties: properties)
     |             |- warning: sending 'delegate' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'delegate' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1421 |             MixpanelLogger.debug(message: "Tracked $experiment_started for \(flagName) (dispatched to main)")
1422 |         }
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:859:48: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 857 |                 MixpanelLogger.debug(message: "Flags not yet servable, attempting fetch for getAllVariants...")
 858 |                 self._fetchFlagsIfNeeded { _ in
 859 |                     DispatchQueue.main.async { completion(self._getAllVariantsSyncImpl()) }
     |                                                |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
     |                                                `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 860 |                 }
 861 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FeatureFlags.swift:859:59: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 857 |                 MixpanelLogger.debug(message: "Flags not yet servable, attempting fetch for getAllVariants...")
 858 |                 self._fetchFlagsIfNeeded { _ in
 859 |                     DispatchQueue.main.async { completion(self._getAllVariantsSyncImpl()) }
     |                                                           |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                                                           `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 860 |                 }
 861 |             }
[37/50] Compiling Mixpanel MixpanelPersistence.swift
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:122:21: warning: capture of 'failure' with non-sendable type '(Reason, Data?, URLResponse?) -> Void' in a '@Sendable' closure
120 |
121 |                 if let hasError = error {
122 |                     failure(.other(hasError), data, response)
    |                     |- warning: capture of 'failure' with non-sendable type '(Reason, Data?, URLResponse?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
123 |                 } else {
124 |                     failure(.noData, data, response)
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:136:32: warning: capture of 'resource' with non-sendable type 'Resource<A>' in a '@Sendable' closure
 68 | }
 69 |
 70 | struct Resource<A> {
    |        `- note: consider making generic struct 'Resource' conform to the 'Sendable' protocol
 71 |     let path: String
 72 |     let method: RequestMethod
    :
134 |                 return
135 |             }
136 |             guard let result = resource.parse(responseData) else {
    |                                `- warning: capture of 'resource' with non-sendable type 'Resource<A>' in a '@Sendable' closure
137 |                 failure(.parseError, data, response)
138 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:141:13: warning: capture of 'success' with non-sendable type '(A, URLResponse?) -> Void' in a '@Sendable' closure
139 |             }
140 |
141 |             success(result, response)
    |             |- warning: capture of 'success' with non-sendable type '(A, URLResponse?) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
142 |         }.resume()
143 |     }
[38/50] Compiling Mixpanel MixpanelType.swift
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:122:21: warning: capture of 'failure' with non-sendable type '(Reason, Data?, URLResponse?) -> Void' in a '@Sendable' closure
120 |
121 |                 if let hasError = error {
122 |                     failure(.other(hasError), data, response)
    |                     |- warning: capture of 'failure' with non-sendable type '(Reason, Data?, URLResponse?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
123 |                 } else {
124 |                     failure(.noData, data, response)
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:136:32: warning: capture of 'resource' with non-sendable type 'Resource<A>' in a '@Sendable' closure
 68 | }
 69 |
 70 | struct Resource<A> {
    |        `- note: consider making generic struct 'Resource' conform to the 'Sendable' protocol
 71 |     let path: String
 72 |     let method: RequestMethod
    :
134 |                 return
135 |             }
136 |             guard let result = resource.parse(responseData) else {
    |                                `- warning: capture of 'resource' with non-sendable type 'Resource<A>' in a '@Sendable' closure
137 |                 failure(.parseError, data, response)
138 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:141:13: warning: capture of 'success' with non-sendable type '(A, URLResponse?) -> Void' in a '@Sendable' closure
139 |             }
140 |
141 |             success(result, response)
    |             |- warning: capture of 'success' with non-sendable type '(A, URLResponse?) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
142 |         }.resume()
143 |     }
[39/50] Compiling Mixpanel Network.swift
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:122:21: warning: capture of 'failure' with non-sendable type '(Reason, Data?, URLResponse?) -> Void' in a '@Sendable' closure
120 |
121 |                 if let hasError = error {
122 |                     failure(.other(hasError), data, response)
    |                     |- warning: capture of 'failure' with non-sendable type '(Reason, Data?, URLResponse?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
123 |                 } else {
124 |                     failure(.noData, data, response)
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:136:32: warning: capture of 'resource' with non-sendable type 'Resource<A>' in a '@Sendable' closure
 68 | }
 69 |
 70 | struct Resource<A> {
    |        `- note: consider making generic struct 'Resource' conform to the 'Sendable' protocol
 71 |     let path: String
 72 |     let method: RequestMethod
    :
134 |                 return
135 |             }
136 |             guard let result = resource.parse(responseData) else {
    |                                `- warning: capture of 'resource' with non-sendable type 'Resource<A>' in a '@Sendable' closure
137 |                 failure(.parseError, data, response)
138 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:141:13: warning: capture of 'success' with non-sendable type '(A, URLResponse?) -> Void' in a '@Sendable' closure
139 |             }
140 |
141 |             success(result, response)
    |             |- warning: capture of 'success' with non-sendable type '(A, URLResponse?) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
142 |         }.resume()
143 |     }
[40/50] Compiling Mixpanel MixpanelInstance.swift
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:390:43: warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 388 |             flushInterval: options.flushInterval,
 389 |             name: options.instanceName ?? options.token,
 390 |             trackAutomaticEvents: options.trackAutomaticEvents,
     |                                           `- warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 391 |             optOutTrackingByDefault: options.optOutTrackingByDefault,
 392 |             useUniqueDistinctId: options.useUniqueDistinctId,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:479:9: warning: 'trackAutomaticEventsEnabled' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 477 |             self.apiToken = apiToken
 478 |         }
 479 |         trackAutomaticEventsEnabled = trackAutomaticEvents
     |         `- warning: 'trackAutomaticEventsEnabled' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 480 |         // Capture UI properties (screen size) that require main thread access.
 481 |         // This is called here to ensure $ae_first_open event includes screen size.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:982:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 980 |         if hasOptedOutTracking() {
 981 |             if let completion = completion {
 982 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 983 |             }
 984 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:989:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 987 |             MixpanelLogger.error(message: "\(self) cannot identify blank distinct id")
 988 |             if let completion = completion {
 989 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 990 |             }
 991 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1045:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1043 |                     hadPersistedDistinctId: self.hadPersistedDistinctId), instanceName: self.name)
1044 |             if let completion = completion {
1045 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1046 |             }
1047 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:994:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
 992 |         }
 993 |         trackingQueue.async { [weak self, distinctId, usePeople] in
 994 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
 995 |
 996 |             // If there's no anonymousId assigned yet, that means distinctId is stored in the storage. Assigning already stored
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1044:33: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1042 |                     alias: self.alias,
1043 |                     hadPersistedDistinctId: self.hadPersistedDistinctId), instanceName: self.name)
1044 |             if let completion = completion {
     |                                 |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1045 |                 DispatchQueue.main.async(execute: completion)
1046 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1083:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1081 |         if hasOptedOutTracking() {
1082 |             if let completion = completion {
1083 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1084 |             }
1085 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1091:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1089 |             MixpanelLogger.error(message: "\(self) cannot identify blank distinct id")
1090 |             if let completion = completion {
1091 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1092 |             }
1093 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1099:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1097 |             MixpanelLogger.error(message: "\(self) create alias called with empty alias")
1098 |             if let completion = completion {
1099 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1100 |             }
1101 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1108:59: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1106 |                 guard let self = self else {
1107 |                     if let completion = completion {
1108 |                         DispatchQueue.main.async(execute: completion)
     |                                                           `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1109 |                     }
1110 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1152:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1150 |                 message: "alias: \(alias) matches distinctId: \(distinctId) - skipping api call.")
1151 |             if let completion = completion {
1152 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1153 |             }
1154 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1106:34: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1104 |         if alias != distinctId {
1105 |             trackingQueue.async { [weak self, alias] in
1106 |                 guard let self = self else {
     |                                  `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1107 |                     if let completion = completion {
1108 |                         DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1107:41: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1105 |             trackingQueue.async { [weak self, alias] in
1106 |                 guard let self = self else {
1107 |                     if let completion = completion {
     |                                         |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1108 |                         DispatchQueue.main.async(execute: completion)
1109 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1202:55: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1200 |             let fireUserCompletion: () -> Void = {
1201 |                 if let completion = completion {
1202 |                     DispatchQueue.main.async(execute: completion)
     |                                                       `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1203 |                 }
1204 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1170:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1168 |         flush()
1169 |         trackingQueue.async { [weak self] in
1170 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1171 |                 return
1172 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1201:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1199 |             let flagManager = self.flags as? FeatureFlagManager
1200 |             let fireUserCompletion: () -> Void = {
1201 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1202 |                     DispatchQueue.main.async(execute: completion)
1203 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1201:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in an isolated closure; this is an error in the Swift 6 language mode
1199 |             let flagManager = self.flags as? FeatureFlagManager
1200 |             let fireUserCompletion: () -> Void = {
1201 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in an isolated closure; this is an error in the Swift 6 language mode
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1202 |                     DispatchQueue.main.async(execute: completion)
1203 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1315:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1313 |         if hasOptedOutTracking() {
1314 |             if let completion = completion {
1315 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1316 |             }
1317 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1322:55: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1320 |             guard let self = self else {
1321 |                 if let completion = completion {
1322 |                     DispatchQueue.main.async(execute: completion)
     |                                                       `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1323 |                 }
1324 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1320:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1318 |         }
1319 |         trackingQueue.async { [weak self, completion] in
1320 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1321 |                 if let completion = completion {
1322 |                     DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1321:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1319 |         trackingQueue.async { [weak self, completion] in
1320 |             guard let self = self else {
1321 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1322 |                     DispatchQueue.main.async(execute: completion)
1323 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1357:47: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1355 |         isFlushing = false
1356 |         if let completion = completion {
1357 |             DispatchQueue.main.async(execute: completion)
     |                                               `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1358 |         }
1359 |         if hasPendingFlush {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1390:55: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1388 |             guard let self = self else {
1389 |                 if let completion = completion {
1390 |                     DispatchQueue.main.async(execute: completion)
     |                                                       `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1391 |                 }
1392 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1398:59: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1396 |                 guard let self = self else {
1397 |                     if let completion = completion {
1398 |                         DispatchQueue.main.async(execute: completion)
     |                                                           `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1399 |                     }
1400 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1388:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1386 |
1387 |         networkQueue.async { [weak self] in
1388 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1389 |                 if let completion = completion {
1390 |                     DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1389:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1387 |         networkQueue.async { [weak self] in
1388 |             guard let self = self else {
1389 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1390 |                     DispatchQueue.main.async(execute: completion)
1391 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1394:41: warning: capture of 'batch' with non-sendable type '[InternalProperties]' (aka 'Array<Dictionary<String, Any>>') in a '@Sendable' closure
1392 |                 return
1393 |             }
1394 |             let result = self.sendBatch(batch, type: type)
     |                                         `- warning: capture of 'batch' with non-sendable type '[InternalProperties]' (aka 'Array<Dictionary<String, Any>>') in a '@Sendable' closure
1395 |             self.trackingQueue.async { [weak self] in
1396 |                 guard let self = self else {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1396:34: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1394 |             let result = self.sendBatch(batch, type: type)
1395 |             self.trackingQueue.async { [weak self] in
1396 |                 guard let self = self else {
     |                                  `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1397 |                     if let completion = completion {
1398 |                         DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1397:41: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1395 |             self.trackingQueue.async { [weak self] in
1396 |                 guard let self = self else {
1397 |                     if let completion = completion {
     |                                         |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1398 |                         DispatchQueue.main.async(execute: completion)
1399 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1462:23: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1460 |
1461 |         trackingQueue.async { [weak self, event, properties, epochInterval] in
1462 |             guard let self else {
     |                       `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1463 |                 return
1464 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1485:29: warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1483 |             let timedEventsSnapshot = self.trackInstance.track(
1484 |                 event: event,
1485 |                 properties: properties,
     |                             `- warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1486 |                 timedEvents: shadowTimedEvents,
1487 |                 superProperties: shadowSuperProperties,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1617:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1615 |         let startTime = Date().timeIntervalSince1970
1616 |         trackingQueue.async { [weak self, startTime, event] in
1617 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1618 |             let timedEvents = self.trackInstance.time(
1619 |                 event: event, timedEvents: self.timedEvents, startTime: startTime)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1649:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1647 |     public func clearTimedEvents() {
1648 |         trackingQueue.async { [weak self] in
1649 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1650 |             self.readWriteLock.write {
1651 |                 self.timedEvents = InternalProperties()
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1665:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1663 |     public func clearTimedEvent(event: String) {
1664 |         trackingQueue.async { [weak self, event] in
1665 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1666 |
1667 |             let updatedTimedEvents = self.trackInstance.clearTimedEvent(
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1691:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1689 |     public func clearSuperProperties() {
1690 |         trackingQueue.async { [weak self] in
1691 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1692 |             self.superProperties = self.trackInstance.clearSuperProperties(self.superProperties)
1693 |             MixpanelPersistence.saveSuperProperties(
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1711:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1709 |     public func registerSuperProperties(_ properties: Properties) {
1710 |         trackingQueue.async { [weak self] in
1711 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1712 |             let updatedSuperProperties = self.trackInstance.registerSuperProperties(
1713 |                 properties,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1713:17: warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1711 |             guard let self = self else { return }
1712 |             let updatedSuperProperties = self.trackInstance.registerSuperProperties(
1713 |                 properties,
     |                 `- warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1714 |                 superProperties: self.superProperties)
1715 |             self.readWriteLock.write {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1740:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1738 |     ) {
1739 |         trackingQueue.async { [weak self] in
1740 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1741 |             let updatedSuperProperties = self.trackInstance.registerSuperPropertiesOnce(
1742 |                 properties,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1742:17: warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1740 |             guard let self = self else { return }
1741 |             let updatedSuperProperties = self.trackInstance.registerSuperPropertiesOnce(
1742 |                 properties,
     |                 `- warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1743 |                 superProperties: self.superProperties,
1744 |                 defaultValue: defaultValue)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1744:31: warning: capture of 'defaultValue' with non-sendable type '(any MixpanelType)?' in a '@Sendable' closure
1742 |                 properties,
1743 |                 superProperties: self.superProperties,
1744 |                 defaultValue: defaultValue)
     |                               `- warning: capture of 'defaultValue' with non-sendable type '(any MixpanelType)?' in a '@Sendable' closure
1745 |             self.readWriteLock.write {
1746 |                 self.superProperties = updatedSuperProperties
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1770:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1768 |     public func unregisterSuperProperty(_ propertyName: String) {
1769 |         trackingQueue.async { [weak self] in
1770 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1771 |             let updatedSuperProperties = self.trackInstance.unregisterSuperProperty(
1772 |                 propertyName,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1793:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1791 |     ) {
1792 |         trackingQueue.async { [weak self] in
1793 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1794 |             var superPropertiesShadow = self.superProperties
1795 |             self.trackInstance.updateSuperProperty(
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1796:17: warning: capture of 'update' with non-sendable type '(inout InternalProperties) -> Void' (aka '(inout Dictionary<String, Any>) -> ()') in a '@Sendable' closure
1794 |             var superPropertiesShadow = self.superProperties
1795 |             self.trackInstance.updateSuperProperty(
1796 |                 update,
     |                 |- warning: capture of 'update' with non-sendable type '(inout InternalProperties) -> Void' (aka '(inout Dictionary<String, Any>) -> ()') in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1797 |                 superProperties: &superPropertiesShadow)
1798 |             self.readWriteLock.write {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1912:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1910 |     public func optOutTracking() {
1911 |         trackingQueue.async { [weak self] in
1912 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1913 |             if self.people.distinctId != nil {
1914 |                 self.people.deleteUser()
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1971:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1969 |     public func optInTracking(distinctId: String? = nil, properties: Properties? = nil) {
1970 |         trackingQueue.async { [weak self] in
1971 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1972 |             self.readWriteLock.write {
1973 |                 self.optOutStatus = false
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1981:54: warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1979 |                 self.identify(distinctId: distinctId)
1980 |             }
1981 |             self.track(event: "$opt_in", properties: properties)
     |                                                      `- warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1982 |
1983 |             #if os(iOS) && !targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:60:24: warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 58 |
 59 | public class MixpanelLogger {
 60 |     private static var loggers = [MixpanelLogging]()
    |                        |- warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'loggers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'loggers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 61 |     private static var enabledLevels = Set<MixpanelLogLevel>()
 62 |     private static let readWriteLock: ReadWriteLock = ReadWriteLock(label: "loggerLock")
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:61:24: warning: static property 'enabledLevels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 59 | public class MixpanelLogger {
 60 |     private static var loggers = [MixpanelLogging]()
 61 |     private static var enabledLevels = Set<MixpanelLogLevel>()
    |                        |- warning: static property 'enabledLevels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'enabledLevels' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'enabledLevels' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 62 |     private static let readWriteLock: ReadWriteLock = ReadWriteLock(label: "loggerLock")
 63 |
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:62:24: warning: static property 'readWriteLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
 60 |     private static var loggers = [MixpanelLogging]()
 61 |     private static var enabledLevels = Set<MixpanelLogLevel>()
 62 |     private static let readWriteLock: ReadWriteLock = ReadWriteLock(label: "loggerLock")
    |                        |- warning: static property 'readWriteLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'readWriteLock' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 63 |
 64 |     /// Add a `MixpanelLogging` object to receive all log messages
/Users/admin/builder/spi-builder-workspace/Sources/ReadWriteLock.swift:10:7: note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | class ReadWriteLock {
   |       `- note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
11 |     private let concurrentQueue: DispatchQueue
12 |
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:73:23: warning: result of call to 'write(closure:)' is unused
 71 |     /// Enable log messages of a specific `LogLevel` to be added to the log
 72 |     class func enableLevel(_ level: MixpanelLogLevel) {
 73 |         readWriteLock.write {
    |                       `- warning: result of call to 'write(closure:)' is unused
 74 |             enabledLevels.insert(level)
 75 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:80:23: warning: result of call to 'write(closure:)' is unused
 78 |     /// Disable log messages of a specific `LogLevel` to prevent them from being logged
 79 |     class func disableLevel(_ level: MixpanelLogLevel) {
 80 |         readWriteLock.write {
    |                       `- warning: result of call to 'write(closure:)' is unused
 81 |             enabledLevels.remove(level)
 82 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelOptions.swift:303:14: warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
301 |         self.flushInterval = flushInterval
302 |         self.instanceName = instanceName
303 |         self.trackAutomaticEvents = trackAutomaticEvents
    |              `- warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
304 |         self.optOutTrackingByDefault = optOutTrackingByDefault
305 |         self.useUniqueDistinctId = useUniqueDistinctId
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:620:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 618 |             // See: https://github.com/mixpanel/mixpanel-swift/issues/522
 619 |             DispatchQueue.main.async { [weak self] in
 620 |                 guard let self = self else { return }
     |                                  |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                                  `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 621 |                 self.automaticEvents.initializeEvents(instanceName: self.name)
 622 |             }
[41/50] Compiling Mixpanel MixpanelLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:390:43: warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 388 |             flushInterval: options.flushInterval,
 389 |             name: options.instanceName ?? options.token,
 390 |             trackAutomaticEvents: options.trackAutomaticEvents,
     |                                           `- warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 391 |             optOutTrackingByDefault: options.optOutTrackingByDefault,
 392 |             useUniqueDistinctId: options.useUniqueDistinctId,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:479:9: warning: 'trackAutomaticEventsEnabled' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 477 |             self.apiToken = apiToken
 478 |         }
 479 |         trackAutomaticEventsEnabled = trackAutomaticEvents
     |         `- warning: 'trackAutomaticEventsEnabled' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 480 |         // Capture UI properties (screen size) that require main thread access.
 481 |         // This is called here to ensure $ae_first_open event includes screen size.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:982:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 980 |         if hasOptedOutTracking() {
 981 |             if let completion = completion {
 982 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 983 |             }
 984 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:989:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 987 |             MixpanelLogger.error(message: "\(self) cannot identify blank distinct id")
 988 |             if let completion = completion {
 989 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 990 |             }
 991 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1045:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1043 |                     hadPersistedDistinctId: self.hadPersistedDistinctId), instanceName: self.name)
1044 |             if let completion = completion {
1045 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1046 |             }
1047 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:994:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
 992 |         }
 993 |         trackingQueue.async { [weak self, distinctId, usePeople] in
 994 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
 995 |
 996 |             // If there's no anonymousId assigned yet, that means distinctId is stored in the storage. Assigning already stored
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1044:33: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1042 |                     alias: self.alias,
1043 |                     hadPersistedDistinctId: self.hadPersistedDistinctId), instanceName: self.name)
1044 |             if let completion = completion {
     |                                 |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1045 |                 DispatchQueue.main.async(execute: completion)
1046 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1083:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1081 |         if hasOptedOutTracking() {
1082 |             if let completion = completion {
1083 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1084 |             }
1085 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1091:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1089 |             MixpanelLogger.error(message: "\(self) cannot identify blank distinct id")
1090 |             if let completion = completion {
1091 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1092 |             }
1093 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1099:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1097 |             MixpanelLogger.error(message: "\(self) create alias called with empty alias")
1098 |             if let completion = completion {
1099 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1100 |             }
1101 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1108:59: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1106 |                 guard let self = self else {
1107 |                     if let completion = completion {
1108 |                         DispatchQueue.main.async(execute: completion)
     |                                                           `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1109 |                     }
1110 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1152:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1150 |                 message: "alias: \(alias) matches distinctId: \(distinctId) - skipping api call.")
1151 |             if let completion = completion {
1152 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1153 |             }
1154 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1106:34: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1104 |         if alias != distinctId {
1105 |             trackingQueue.async { [weak self, alias] in
1106 |                 guard let self = self else {
     |                                  `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1107 |                     if let completion = completion {
1108 |                         DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1107:41: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1105 |             trackingQueue.async { [weak self, alias] in
1106 |                 guard let self = self else {
1107 |                     if let completion = completion {
     |                                         |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1108 |                         DispatchQueue.main.async(execute: completion)
1109 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1202:55: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1200 |             let fireUserCompletion: () -> Void = {
1201 |                 if let completion = completion {
1202 |                     DispatchQueue.main.async(execute: completion)
     |                                                       `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1203 |                 }
1204 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1170:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1168 |         flush()
1169 |         trackingQueue.async { [weak self] in
1170 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1171 |                 return
1172 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1201:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1199 |             let flagManager = self.flags as? FeatureFlagManager
1200 |             let fireUserCompletion: () -> Void = {
1201 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1202 |                     DispatchQueue.main.async(execute: completion)
1203 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1201:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in an isolated closure; this is an error in the Swift 6 language mode
1199 |             let flagManager = self.flags as? FeatureFlagManager
1200 |             let fireUserCompletion: () -> Void = {
1201 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in an isolated closure; this is an error in the Swift 6 language mode
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1202 |                     DispatchQueue.main.async(execute: completion)
1203 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1315:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1313 |         if hasOptedOutTracking() {
1314 |             if let completion = completion {
1315 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1316 |             }
1317 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1322:55: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1320 |             guard let self = self else {
1321 |                 if let completion = completion {
1322 |                     DispatchQueue.main.async(execute: completion)
     |                                                       `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1323 |                 }
1324 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1320:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1318 |         }
1319 |         trackingQueue.async { [weak self, completion] in
1320 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1321 |                 if let completion = completion {
1322 |                     DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1321:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1319 |         trackingQueue.async { [weak self, completion] in
1320 |             guard let self = self else {
1321 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1322 |                     DispatchQueue.main.async(execute: completion)
1323 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1357:47: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1355 |         isFlushing = false
1356 |         if let completion = completion {
1357 |             DispatchQueue.main.async(execute: completion)
     |                                               `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1358 |         }
1359 |         if hasPendingFlush {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1390:55: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1388 |             guard let self = self else {
1389 |                 if let completion = completion {
1390 |                     DispatchQueue.main.async(execute: completion)
     |                                                       `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1391 |                 }
1392 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1398:59: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1396 |                 guard let self = self else {
1397 |                     if let completion = completion {
1398 |                         DispatchQueue.main.async(execute: completion)
     |                                                           `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1399 |                     }
1400 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1388:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1386 |
1387 |         networkQueue.async { [weak self] in
1388 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1389 |                 if let completion = completion {
1390 |                     DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1389:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1387 |         networkQueue.async { [weak self] in
1388 |             guard let self = self else {
1389 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1390 |                     DispatchQueue.main.async(execute: completion)
1391 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1394:41: warning: capture of 'batch' with non-sendable type '[InternalProperties]' (aka 'Array<Dictionary<String, Any>>') in a '@Sendable' closure
1392 |                 return
1393 |             }
1394 |             let result = self.sendBatch(batch, type: type)
     |                                         `- warning: capture of 'batch' with non-sendable type '[InternalProperties]' (aka 'Array<Dictionary<String, Any>>') in a '@Sendable' closure
1395 |             self.trackingQueue.async { [weak self] in
1396 |                 guard let self = self else {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1396:34: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1394 |             let result = self.sendBatch(batch, type: type)
1395 |             self.trackingQueue.async { [weak self] in
1396 |                 guard let self = self else {
     |                                  `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1397 |                     if let completion = completion {
1398 |                         DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1397:41: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1395 |             self.trackingQueue.async { [weak self] in
1396 |                 guard let self = self else {
1397 |                     if let completion = completion {
     |                                         |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1398 |                         DispatchQueue.main.async(execute: completion)
1399 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1462:23: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1460 |
1461 |         trackingQueue.async { [weak self, event, properties, epochInterval] in
1462 |             guard let self else {
     |                       `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1463 |                 return
1464 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1485:29: warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1483 |             let timedEventsSnapshot = self.trackInstance.track(
1484 |                 event: event,
1485 |                 properties: properties,
     |                             `- warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1486 |                 timedEvents: shadowTimedEvents,
1487 |                 superProperties: shadowSuperProperties,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1617:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1615 |         let startTime = Date().timeIntervalSince1970
1616 |         trackingQueue.async { [weak self, startTime, event] in
1617 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1618 |             let timedEvents = self.trackInstance.time(
1619 |                 event: event, timedEvents: self.timedEvents, startTime: startTime)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1649:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1647 |     public func clearTimedEvents() {
1648 |         trackingQueue.async { [weak self] in
1649 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1650 |             self.readWriteLock.write {
1651 |                 self.timedEvents = InternalProperties()
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1665:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1663 |     public func clearTimedEvent(event: String) {
1664 |         trackingQueue.async { [weak self, event] in
1665 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1666 |
1667 |             let updatedTimedEvents = self.trackInstance.clearTimedEvent(
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1691:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1689 |     public func clearSuperProperties() {
1690 |         trackingQueue.async { [weak self] in
1691 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1692 |             self.superProperties = self.trackInstance.clearSuperProperties(self.superProperties)
1693 |             MixpanelPersistence.saveSuperProperties(
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1711:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1709 |     public func registerSuperProperties(_ properties: Properties) {
1710 |         trackingQueue.async { [weak self] in
1711 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1712 |             let updatedSuperProperties = self.trackInstance.registerSuperProperties(
1713 |                 properties,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1713:17: warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1711 |             guard let self = self else { return }
1712 |             let updatedSuperProperties = self.trackInstance.registerSuperProperties(
1713 |                 properties,
     |                 `- warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1714 |                 superProperties: self.superProperties)
1715 |             self.readWriteLock.write {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1740:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1738 |     ) {
1739 |         trackingQueue.async { [weak self] in
1740 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1741 |             let updatedSuperProperties = self.trackInstance.registerSuperPropertiesOnce(
1742 |                 properties,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1742:17: warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1740 |             guard let self = self else { return }
1741 |             let updatedSuperProperties = self.trackInstance.registerSuperPropertiesOnce(
1742 |                 properties,
     |                 `- warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1743 |                 superProperties: self.superProperties,
1744 |                 defaultValue: defaultValue)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1744:31: warning: capture of 'defaultValue' with non-sendable type '(any MixpanelType)?' in a '@Sendable' closure
1742 |                 properties,
1743 |                 superProperties: self.superProperties,
1744 |                 defaultValue: defaultValue)
     |                               `- warning: capture of 'defaultValue' with non-sendable type '(any MixpanelType)?' in a '@Sendable' closure
1745 |             self.readWriteLock.write {
1746 |                 self.superProperties = updatedSuperProperties
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1770:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1768 |     public func unregisterSuperProperty(_ propertyName: String) {
1769 |         trackingQueue.async { [weak self] in
1770 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1771 |             let updatedSuperProperties = self.trackInstance.unregisterSuperProperty(
1772 |                 propertyName,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1793:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1791 |     ) {
1792 |         trackingQueue.async { [weak self] in
1793 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1794 |             var superPropertiesShadow = self.superProperties
1795 |             self.trackInstance.updateSuperProperty(
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1796:17: warning: capture of 'update' with non-sendable type '(inout InternalProperties) -> Void' (aka '(inout Dictionary<String, Any>) -> ()') in a '@Sendable' closure
1794 |             var superPropertiesShadow = self.superProperties
1795 |             self.trackInstance.updateSuperProperty(
1796 |                 update,
     |                 |- warning: capture of 'update' with non-sendable type '(inout InternalProperties) -> Void' (aka '(inout Dictionary<String, Any>) -> ()') in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1797 |                 superProperties: &superPropertiesShadow)
1798 |             self.readWriteLock.write {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1912:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1910 |     public func optOutTracking() {
1911 |         trackingQueue.async { [weak self] in
1912 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1913 |             if self.people.distinctId != nil {
1914 |                 self.people.deleteUser()
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1971:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1969 |     public func optInTracking(distinctId: String? = nil, properties: Properties? = nil) {
1970 |         trackingQueue.async { [weak self] in
1971 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1972 |             self.readWriteLock.write {
1973 |                 self.optOutStatus = false
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1981:54: warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1979 |                 self.identify(distinctId: distinctId)
1980 |             }
1981 |             self.track(event: "$opt_in", properties: properties)
     |                                                      `- warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1982 |
1983 |             #if os(iOS) && !targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:60:24: warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 58 |
 59 | public class MixpanelLogger {
 60 |     private static var loggers = [MixpanelLogging]()
    |                        |- warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'loggers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'loggers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 61 |     private static var enabledLevels = Set<MixpanelLogLevel>()
 62 |     private static let readWriteLock: ReadWriteLock = ReadWriteLock(label: "loggerLock")
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:61:24: warning: static property 'enabledLevels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 59 | public class MixpanelLogger {
 60 |     private static var loggers = [MixpanelLogging]()
 61 |     private static var enabledLevels = Set<MixpanelLogLevel>()
    |                        |- warning: static property 'enabledLevels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'enabledLevels' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'enabledLevels' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 62 |     private static let readWriteLock: ReadWriteLock = ReadWriteLock(label: "loggerLock")
 63 |
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:62:24: warning: static property 'readWriteLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
 60 |     private static var loggers = [MixpanelLogging]()
 61 |     private static var enabledLevels = Set<MixpanelLogLevel>()
 62 |     private static let readWriteLock: ReadWriteLock = ReadWriteLock(label: "loggerLock")
    |                        |- warning: static property 'readWriteLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'readWriteLock' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 63 |
 64 |     /// Add a `MixpanelLogging` object to receive all log messages
/Users/admin/builder/spi-builder-workspace/Sources/ReadWriteLock.swift:10:7: note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | class ReadWriteLock {
   |       `- note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
11 |     private let concurrentQueue: DispatchQueue
12 |
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:73:23: warning: result of call to 'write(closure:)' is unused
 71 |     /// Enable log messages of a specific `LogLevel` to be added to the log
 72 |     class func enableLevel(_ level: MixpanelLogLevel) {
 73 |         readWriteLock.write {
    |                       `- warning: result of call to 'write(closure:)' is unused
 74 |             enabledLevels.insert(level)
 75 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:80:23: warning: result of call to 'write(closure:)' is unused
 78 |     /// Disable log messages of a specific `LogLevel` to prevent them from being logged
 79 |     class func disableLevel(_ level: MixpanelLogLevel) {
 80 |         readWriteLock.write {
    |                       `- warning: result of call to 'write(closure:)' is unused
 81 |             enabledLevels.remove(level)
 82 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelOptions.swift:303:14: warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
301 |         self.flushInterval = flushInterval
302 |         self.instanceName = instanceName
303 |         self.trackAutomaticEvents = trackAutomaticEvents
    |              `- warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
304 |         self.optOutTrackingByDefault = optOutTrackingByDefault
305 |         self.useUniqueDistinctId = useUniqueDistinctId
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:620:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 618 |             // See: https://github.com/mixpanel/mixpanel-swift/issues/522
 619 |             DispatchQueue.main.async { [weak self] in
 620 |                 guard let self = self else { return }
     |                                  |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                                  `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 621 |                 self.automaticEvents.initializeEvents(instanceName: self.name)
 622 |             }
[42/50] Compiling Mixpanel MixpanelOptions.swift
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:390:43: warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 388 |             flushInterval: options.flushInterval,
 389 |             name: options.instanceName ?? options.token,
 390 |             trackAutomaticEvents: options.trackAutomaticEvents,
     |                                           `- warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 391 |             optOutTrackingByDefault: options.optOutTrackingByDefault,
 392 |             useUniqueDistinctId: options.useUniqueDistinctId,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:479:9: warning: 'trackAutomaticEventsEnabled' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 477 |             self.apiToken = apiToken
 478 |         }
 479 |         trackAutomaticEventsEnabled = trackAutomaticEvents
     |         `- warning: 'trackAutomaticEventsEnabled' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
 480 |         // Capture UI properties (screen size) that require main thread access.
 481 |         // This is called here to ensure $ae_first_open event includes screen size.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:982:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 980 |         if hasOptedOutTracking() {
 981 |             if let completion = completion {
 982 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 983 |             }
 984 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:989:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 987 |             MixpanelLogger.error(message: "\(self) cannot identify blank distinct id")
 988 |             if let completion = completion {
 989 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
 990 |             }
 991 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1045:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1043 |                     hadPersistedDistinctId: self.hadPersistedDistinctId), instanceName: self.name)
1044 |             if let completion = completion {
1045 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1046 |             }
1047 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:994:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
 992 |         }
 993 |         trackingQueue.async { [weak self, distinctId, usePeople] in
 994 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
 995 |
 996 |             // If there's no anonymousId assigned yet, that means distinctId is stored in the storage. Assigning already stored
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1044:33: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1042 |                     alias: self.alias,
1043 |                     hadPersistedDistinctId: self.hadPersistedDistinctId), instanceName: self.name)
1044 |             if let completion = completion {
     |                                 |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1045 |                 DispatchQueue.main.async(execute: completion)
1046 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1083:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1081 |         if hasOptedOutTracking() {
1082 |             if let completion = completion {
1083 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1084 |             }
1085 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1091:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1089 |             MixpanelLogger.error(message: "\(self) cannot identify blank distinct id")
1090 |             if let completion = completion {
1091 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1092 |             }
1093 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1099:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1097 |             MixpanelLogger.error(message: "\(self) create alias called with empty alias")
1098 |             if let completion = completion {
1099 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1100 |             }
1101 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1108:59: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1106 |                 guard let self = self else {
1107 |                     if let completion = completion {
1108 |                         DispatchQueue.main.async(execute: completion)
     |                                                           `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1109 |                     }
1110 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1152:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1150 |                 message: "alias: \(alias) matches distinctId: \(distinctId) - skipping api call.")
1151 |             if let completion = completion {
1152 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1153 |             }
1154 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1106:34: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1104 |         if alias != distinctId {
1105 |             trackingQueue.async { [weak self, alias] in
1106 |                 guard let self = self else {
     |                                  `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1107 |                     if let completion = completion {
1108 |                         DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1107:41: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1105 |             trackingQueue.async { [weak self, alias] in
1106 |                 guard let self = self else {
1107 |                     if let completion = completion {
     |                                         |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1108 |                         DispatchQueue.main.async(execute: completion)
1109 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1202:55: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1200 |             let fireUserCompletion: () -> Void = {
1201 |                 if let completion = completion {
1202 |                     DispatchQueue.main.async(execute: completion)
     |                                                       `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1203 |                 }
1204 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1170:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1168 |         flush()
1169 |         trackingQueue.async { [weak self] in
1170 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1171 |                 return
1172 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1201:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1199 |             let flagManager = self.flags as? FeatureFlagManager
1200 |             let fireUserCompletion: () -> Void = {
1201 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1202 |                     DispatchQueue.main.async(execute: completion)
1203 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1201:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in an isolated closure; this is an error in the Swift 6 language mode
1199 |             let flagManager = self.flags as? FeatureFlagManager
1200 |             let fireUserCompletion: () -> Void = {
1201 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in an isolated closure; this is an error in the Swift 6 language mode
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1202 |                     DispatchQueue.main.async(execute: completion)
1203 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1315:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1313 |         if hasOptedOutTracking() {
1314 |             if let completion = completion {
1315 |                 DispatchQueue.main.async(execute: completion)
     |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1316 |             }
1317 |             return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1322:55: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1320 |             guard let self = self else {
1321 |                 if let completion = completion {
1322 |                     DispatchQueue.main.async(execute: completion)
     |                                                       `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1323 |                 }
1324 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1320:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1318 |         }
1319 |         trackingQueue.async { [weak self, completion] in
1320 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1321 |                 if let completion = completion {
1322 |                     DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1321:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1319 |         trackingQueue.async { [weak self, completion] in
1320 |             guard let self = self else {
1321 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1322 |                     DispatchQueue.main.async(execute: completion)
1323 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1357:47: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1355 |         isFlushing = false
1356 |         if let completion = completion {
1357 |             DispatchQueue.main.async(execute: completion)
     |                                               `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1358 |         }
1359 |         if hasPendingFlush {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1390:55: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1388 |             guard let self = self else {
1389 |                 if let completion = completion {
1390 |                     DispatchQueue.main.async(execute: completion)
     |                                                       `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1391 |                 }
1392 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1398:59: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1396 |                 guard let self = self else {
1397 |                     if let completion = completion {
1398 |                         DispatchQueue.main.async(execute: completion)
     |                                                           `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
1399 |                     }
1400 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1388:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1386 |
1387 |         networkQueue.async { [weak self] in
1388 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1389 |                 if let completion = completion {
1390 |                     DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1389:37: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1387 |         networkQueue.async { [weak self] in
1388 |             guard let self = self else {
1389 |                 if let completion = completion {
     |                                     |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1390 |                     DispatchQueue.main.async(execute: completion)
1391 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1394:41: warning: capture of 'batch' with non-sendable type '[InternalProperties]' (aka 'Array<Dictionary<String, Any>>') in a '@Sendable' closure
1392 |                 return
1393 |             }
1394 |             let result = self.sendBatch(batch, type: type)
     |                                         `- warning: capture of 'batch' with non-sendable type '[InternalProperties]' (aka 'Array<Dictionary<String, Any>>') in a '@Sendable' closure
1395 |             self.trackingQueue.async { [weak self] in
1396 |                 guard let self = self else {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1396:34: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1394 |             let result = self.sendBatch(batch, type: type)
1395 |             self.trackingQueue.async { [weak self] in
1396 |                 guard let self = self else {
     |                                  `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1397 |                     if let completion = completion {
1398 |                         DispatchQueue.main.async(execute: completion)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1397:41: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1395 |             self.trackingQueue.async { [weak self] in
1396 |                 guard let self = self else {
1397 |                     if let completion = completion {
     |                                         |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1398 |                         DispatchQueue.main.async(execute: completion)
1399 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1462:23: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1460 |
1461 |         trackingQueue.async { [weak self, event, properties, epochInterval] in
1462 |             guard let self else {
     |                       `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1463 |                 return
1464 |             }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1485:29: warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1483 |             let timedEventsSnapshot = self.trackInstance.track(
1484 |                 event: event,
1485 |                 properties: properties,
     |                             `- warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1486 |                 timedEvents: shadowTimedEvents,
1487 |                 superProperties: shadowSuperProperties,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1617:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1615 |         let startTime = Date().timeIntervalSince1970
1616 |         trackingQueue.async { [weak self, startTime, event] in
1617 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1618 |             let timedEvents = self.trackInstance.time(
1619 |                 event: event, timedEvents: self.timedEvents, startTime: startTime)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1649:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1647 |     public func clearTimedEvents() {
1648 |         trackingQueue.async { [weak self] in
1649 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1650 |             self.readWriteLock.write {
1651 |                 self.timedEvents = InternalProperties()
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1665:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1663 |     public func clearTimedEvent(event: String) {
1664 |         trackingQueue.async { [weak self, event] in
1665 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1666 |
1667 |             let updatedTimedEvents = self.trackInstance.clearTimedEvent(
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1691:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1689 |     public func clearSuperProperties() {
1690 |         trackingQueue.async { [weak self] in
1691 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1692 |             self.superProperties = self.trackInstance.clearSuperProperties(self.superProperties)
1693 |             MixpanelPersistence.saveSuperProperties(
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1711:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1709 |     public func registerSuperProperties(_ properties: Properties) {
1710 |         trackingQueue.async { [weak self] in
1711 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1712 |             let updatedSuperProperties = self.trackInstance.registerSuperProperties(
1713 |                 properties,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1713:17: warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1711 |             guard let self = self else { return }
1712 |             let updatedSuperProperties = self.trackInstance.registerSuperProperties(
1713 |                 properties,
     |                 `- warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1714 |                 superProperties: self.superProperties)
1715 |             self.readWriteLock.write {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1740:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1738 |     ) {
1739 |         trackingQueue.async { [weak self] in
1740 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1741 |             let updatedSuperProperties = self.trackInstance.registerSuperPropertiesOnce(
1742 |                 properties,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1742:17: warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1740 |             guard let self = self else { return }
1741 |             let updatedSuperProperties = self.trackInstance.registerSuperPropertiesOnce(
1742 |                 properties,
     |                 `- warning: capture of 'properties' with non-sendable type 'Properties' (aka 'Dictionary<String, any MixpanelType>') in a '@Sendable' closure
1743 |                 superProperties: self.superProperties,
1744 |                 defaultValue: defaultValue)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1744:31: warning: capture of 'defaultValue' with non-sendable type '(any MixpanelType)?' in a '@Sendable' closure
1742 |                 properties,
1743 |                 superProperties: self.superProperties,
1744 |                 defaultValue: defaultValue)
     |                               `- warning: capture of 'defaultValue' with non-sendable type '(any MixpanelType)?' in a '@Sendable' closure
1745 |             self.readWriteLock.write {
1746 |                 self.superProperties = updatedSuperProperties
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1770:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1768 |     public func unregisterSuperProperty(_ propertyName: String) {
1769 |         trackingQueue.async { [weak self] in
1770 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1771 |             let updatedSuperProperties = self.trackInstance.unregisterSuperProperty(
1772 |                 propertyName,
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1793:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1791 |     ) {
1792 |         trackingQueue.async { [weak self] in
1793 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1794 |             var superPropertiesShadow = self.superProperties
1795 |             self.trackInstance.updateSuperProperty(
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1796:17: warning: capture of 'update' with non-sendable type '(inout InternalProperties) -> Void' (aka '(inout Dictionary<String, Any>) -> ()') in a '@Sendable' closure
1794 |             var superPropertiesShadow = self.superProperties
1795 |             self.trackInstance.updateSuperProperty(
1796 |                 update,
     |                 |- warning: capture of 'update' with non-sendable type '(inout InternalProperties) -> Void' (aka '(inout Dictionary<String, Any>) -> ()') in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1797 |                 superProperties: &superPropertiesShadow)
1798 |             self.readWriteLock.write {
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1912:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1910 |     public func optOutTracking() {
1911 |         trackingQueue.async { [weak self] in
1912 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1913 |             if self.people.distinctId != nil {
1914 |                 self.people.deleteUser()
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1971:30: warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
  73 |
  74 | /// The class that represents the Mixpanel Instance
  75 | open class MixpanelInstance: CustomDebugStringConvertible, FlushDelegate, AEDelegate,
     |            `- note: class 'MixpanelInstance' does not conform to the 'Sendable' protocol
  76 |     MixpanelFlagDelegate
  77 | {
     :
1969 |     public func optInTracking(distinctId: String? = nil, properties: Properties? = nil) {
1970 |         trackingQueue.async { [weak self] in
1971 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'MixpanelInstance?' in a '@Sendable' closure
1972 |             self.readWriteLock.write {
1973 |                 self.optOutStatus = false
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:1981:54: warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1979 |                 self.identify(distinctId: distinctId)
1980 |             }
1981 |             self.track(event: "$opt_in", properties: properties)
     |                                                      `- warning: capture of 'properties' with non-sendable type 'Properties?' (aka 'Optional<Dictionary<String, any MixpanelType>>') in a '@Sendable' closure
1982 |
1983 |             #if os(iOS) && !targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelType.swift:14:17: note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 12 | /// MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.
 13 | /// Numbers are not NaN or infinity
 14 | public protocol MixpanelType: Any {
    |                 `- note: protocol 'MixpanelType' does not conform to the 'Sendable' protocol
 15 |     /**
 16 |        Checks if this object has nested object types that Mixpanel supports.
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:60:24: warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 58 |
 59 | public class MixpanelLogger {
 60 |     private static var loggers = [MixpanelLogging]()
    |                        |- warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'loggers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'loggers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 61 |     private static var enabledLevels = Set<MixpanelLogLevel>()
 62 |     private static let readWriteLock: ReadWriteLock = ReadWriteLock(label: "loggerLock")
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:61:24: warning: static property 'enabledLevels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 59 | public class MixpanelLogger {
 60 |     private static var loggers = [MixpanelLogging]()
 61 |     private static var enabledLevels = Set<MixpanelLogLevel>()
    |                        |- warning: static property 'enabledLevels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'enabledLevels' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'enabledLevels' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 62 |     private static let readWriteLock: ReadWriteLock = ReadWriteLock(label: "loggerLock")
 63 |
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:62:24: warning: static property 'readWriteLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
 60 |     private static var loggers = [MixpanelLogging]()
 61 |     private static var enabledLevels = Set<MixpanelLogLevel>()
 62 |     private static let readWriteLock: ReadWriteLock = ReadWriteLock(label: "loggerLock")
    |                        |- warning: static property 'readWriteLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'readWriteLock' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 63 |
 64 |     /// Add a `MixpanelLogging` object to receive all log messages
/Users/admin/builder/spi-builder-workspace/Sources/ReadWriteLock.swift:10:7: note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | class ReadWriteLock {
   |       `- note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
11 |     private let concurrentQueue: DispatchQueue
12 |
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:73:23: warning: result of call to 'write(closure:)' is unused
 71 |     /// Enable log messages of a specific `LogLevel` to be added to the log
 72 |     class func enableLevel(_ level: MixpanelLogLevel) {
 73 |         readWriteLock.write {
    |                       `- warning: result of call to 'write(closure:)' is unused
 74 |             enabledLevels.insert(level)
 75 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelLogger.swift:80:23: warning: result of call to 'write(closure:)' is unused
 78 |     /// Disable log messages of a specific `LogLevel` to prevent them from being logged
 79 |     class func disableLevel(_ level: MixpanelLogLevel) {
 80 |         readWriteLock.write {
    |                       `- warning: result of call to 'write(closure:)' is unused
 81 |             enabledLevels.remove(level)
 82 |         }
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelOptions.swift:303:14: warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
301 |         self.flushInterval = flushInterval
302 |         self.instanceName = instanceName
303 |         self.trackAutomaticEvents = trackAutomaticEvents
    |              `- warning: 'trackAutomaticEvents' is deprecated: Automatic Events are deprecated and will be removed in a future major version. Use autocaptureOptions instead.
304 |         self.optOutTrackingByDefault = optOutTrackingByDefault
305 |         self.useUniqueDistinctId = useUniqueDistinctId
/Users/admin/builder/spi-builder-workspace/Sources/MixpanelInstance.swift:620:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 618 |             // See: https://github.com/mixpanel/mixpanel-swift/issues/522
 619 |             DispatchQueue.main.async { [weak self] in
 620 |                 guard let self = self else { return }
     |                                  |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                                  `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 621 |                 self.automaticEvents.initializeEvents(instanceName: self.name)
 622 |             }
[43/50] Compiling Mixpanel ElementIdExtractor.swift
[44/50] Compiling Mixpanel ClickEvent.swift
[45/50] Compiling Mixpanel RageClickTracker.swift
[46/50] Compiling Mixpanel SemanticExtractor.swift
[47/50] Compiling Mixpanel TouchInterceptor.swift
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:143:29: warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
 22 | #endif
 23 |
 24 | class AutomaticEvents: NSObject, SKPaymentTransactionObserver, SKProductsRequestDelegate {
    |       `- note: class 'AutomaticEvents' does not conform to the 'Sendable' protocol
 25 |
 26 |     var _minimumSessionDuration: UInt64 = 10000
    :
141 |                         case .purchased:
142 |                             productIdentifiers.insert(trans.payment.productIdentifier)
143 |                             awaitingTransactions[trans.payment.productIdentifier] = trans
    |                             `- warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
144 |                         case .failed: break
145 |                         case .restored: break
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:17: warning: capture of 'productsRequest' with non-sendable type 'SKProductsRequest' in a '@Sendable' closure
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                 `- warning: capture of 'productsRequest' with non-sendable type 'SKProductsRequest' in a '@Sendable' closure
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductsRequest.h:28:12: note: class 'SKProductsRequest' does not conform to the 'Sendable' protocol
26 | API_DEPRECATED("Use Product.products(for:)", ios(3.0, 18.0), macos(10.7, 15.0), watchos(6.2, 11.0), visionos(1.0, 2.0))
27 | NS_SWIFT_NONSENDABLE
28 | @interface SKProductsRequest : SKRequest {
   |            `- note: class 'SKProductsRequest' does not conform to the 'Sendable' protocol
29 | @private
30 |     id _productsRequestInternal;
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:142:29: warning: mutation of captured var 'productIdentifiers' in concurrently-executing code
140 |                     switch trans.transactionState {
141 |                         case .purchased:
142 |                             productIdentifiers.insert(trans.payment.productIdentifier)
    |                             `- warning: mutation of captured var 'productIdentifiers' in concurrently-executing code
143 |                             awaitingTransactions[trans.payment.productIdentifier] = trans
144 |                         case .failed: break
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:150:17: warning: reference to captured var 'productIdentifiers' in concurrently-executing code
148 |                 }
149 |             }
150 |             if !productIdentifiers.isEmpty {
    |                 `- warning: reference to captured var 'productIdentifiers' in concurrently-executing code
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:17: warning: mutation of captured var 'productsRequest' in concurrently-executing code
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                 `- warning: mutation of captured var 'productsRequest' in concurrently-executing code
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:73: warning: reference to captured var 'productIdentifiers' in concurrently-executing code
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                                                                         `- warning: reference to captured var 'productIdentifiers' in concurrently-executing code
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:152:17: warning: reference to captured var 'productsRequest' in concurrently-executing code
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
    |                 `- warning: reference to captured var 'productsRequest' in concurrently-executing code
153 |                 productsRequest.start()
154 |             }
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:153:17: warning: reference to captured var 'productsRequest' in concurrently-executing code
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
    |                 `- warning: reference to captured var 'productsRequest' in concurrently-executing code
154 |             }
155 |         }
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:166:32: warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
 22 | #endif
 23 |
 24 | class AutomaticEvents: NSObject, SKPaymentTransactionObserver, SKProductsRequestDelegate {
    |       `- note: class 'AutomaticEvents' does not conform to the 'Sendable' protocol
 25 |
 26 |     var _minimumSessionDuration: UInt64 = 10000
    :
164 |         awaitingTransactionsWriteLock.async { [self] in
165 |             for product in response.products {
166 |                 if let trans = awaitingTransactions[product.productIdentifier] {
    |                                `- warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
167 |                     delegate?.track(
168 |                         event: "$ae_iap",
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:20:16: warning: static property 'automaticPropertiesLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class AutomaticProperties {
 20 |     static let automaticPropertiesLock = ReadWriteLock(label: "automaticPropertiesLock")
    |                |- warning: static property 'automaticPropertiesLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'automaticPropertiesLock' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     static var properties: InternalProperties = {
/Users/admin/builder/spi-builder-workspace/Sources/ReadWriteLock.swift:10:7: note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | class ReadWriteLock {
   |       `- note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
11 |     private let concurrentQueue: DispatchQueue
12 |
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:22:16: warning: static property 'properties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 20 |     static let automaticPropertiesLock = ReadWriteLock(label: "automaticPropertiesLock")
 21 |
 22 |     static var properties: InternalProperties = {
    |                |- warning: static property 'properties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'properties' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'properties' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |         var p = InternalProperties()
 24 |
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:73:16: warning: static property 'peopleProperties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 71 |     }()
 72 |
 73 |     static var peopleProperties: InternalProperties = {
    |                |- warning: static property 'peopleProperties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'peopleProperties' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'peopleProperties' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 74 |         var p = InternalProperties()
 75 |         let infoDict = Bundle.main.infoDictionary
/Users/admin/builder/spi-builder-workspace/Sources/Constants.swift:16:16: warning: static property 'queueSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | struct QueueConstants {
16 |     static var queueSize = 5000
   |                |- warning: static property 'queueSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'queueSize' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'queueSize' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | }
18 |
[48/50] Compiling Mixpanel AutomaticEvents.swift
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:143:29: warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
 22 | #endif
 23 |
 24 | class AutomaticEvents: NSObject, SKPaymentTransactionObserver, SKProductsRequestDelegate {
    |       `- note: class 'AutomaticEvents' does not conform to the 'Sendable' protocol
 25 |
 26 |     var _minimumSessionDuration: UInt64 = 10000
    :
141 |                         case .purchased:
142 |                             productIdentifiers.insert(trans.payment.productIdentifier)
143 |                             awaitingTransactions[trans.payment.productIdentifier] = trans
    |                             `- warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
144 |                         case .failed: break
145 |                         case .restored: break
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:17: warning: capture of 'productsRequest' with non-sendable type 'SKProductsRequest' in a '@Sendable' closure
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                 `- warning: capture of 'productsRequest' with non-sendable type 'SKProductsRequest' in a '@Sendable' closure
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductsRequest.h:28:12: note: class 'SKProductsRequest' does not conform to the 'Sendable' protocol
26 | API_DEPRECATED("Use Product.products(for:)", ios(3.0, 18.0), macos(10.7, 15.0), watchos(6.2, 11.0), visionos(1.0, 2.0))
27 | NS_SWIFT_NONSENDABLE
28 | @interface SKProductsRequest : SKRequest {
   |            `- note: class 'SKProductsRequest' does not conform to the 'Sendable' protocol
29 | @private
30 |     id _productsRequestInternal;
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:142:29: warning: mutation of captured var 'productIdentifiers' in concurrently-executing code
140 |                     switch trans.transactionState {
141 |                         case .purchased:
142 |                             productIdentifiers.insert(trans.payment.productIdentifier)
    |                             `- warning: mutation of captured var 'productIdentifiers' in concurrently-executing code
143 |                             awaitingTransactions[trans.payment.productIdentifier] = trans
144 |                         case .failed: break
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:150:17: warning: reference to captured var 'productIdentifiers' in concurrently-executing code
148 |                 }
149 |             }
150 |             if !productIdentifiers.isEmpty {
    |                 `- warning: reference to captured var 'productIdentifiers' in concurrently-executing code
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:17: warning: mutation of captured var 'productsRequest' in concurrently-executing code
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                 `- warning: mutation of captured var 'productsRequest' in concurrently-executing code
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:73: warning: reference to captured var 'productIdentifiers' in concurrently-executing code
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                                                                         `- warning: reference to captured var 'productIdentifiers' in concurrently-executing code
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:152:17: warning: reference to captured var 'productsRequest' in concurrently-executing code
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
    |                 `- warning: reference to captured var 'productsRequest' in concurrently-executing code
153 |                 productsRequest.start()
154 |             }
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:153:17: warning: reference to captured var 'productsRequest' in concurrently-executing code
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
    |                 `- warning: reference to captured var 'productsRequest' in concurrently-executing code
154 |             }
155 |         }
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:166:32: warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
 22 | #endif
 23 |
 24 | class AutomaticEvents: NSObject, SKPaymentTransactionObserver, SKProductsRequestDelegate {
    |       `- note: class 'AutomaticEvents' does not conform to the 'Sendable' protocol
 25 |
 26 |     var _minimumSessionDuration: UInt64 = 10000
    :
164 |         awaitingTransactionsWriteLock.async { [self] in
165 |             for product in response.products {
166 |                 if let trans = awaitingTransactions[product.productIdentifier] {
    |                                `- warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
167 |                     delegate?.track(
168 |                         event: "$ae_iap",
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:20:16: warning: static property 'automaticPropertiesLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class AutomaticProperties {
 20 |     static let automaticPropertiesLock = ReadWriteLock(label: "automaticPropertiesLock")
    |                |- warning: static property 'automaticPropertiesLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'automaticPropertiesLock' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     static var properties: InternalProperties = {
/Users/admin/builder/spi-builder-workspace/Sources/ReadWriteLock.swift:10:7: note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | class ReadWriteLock {
   |       `- note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
11 |     private let concurrentQueue: DispatchQueue
12 |
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:22:16: warning: static property 'properties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 20 |     static let automaticPropertiesLock = ReadWriteLock(label: "automaticPropertiesLock")
 21 |
 22 |     static var properties: InternalProperties = {
    |                |- warning: static property 'properties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'properties' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'properties' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |         var p = InternalProperties()
 24 |
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:73:16: warning: static property 'peopleProperties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 71 |     }()
 72 |
 73 |     static var peopleProperties: InternalProperties = {
    |                |- warning: static property 'peopleProperties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'peopleProperties' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'peopleProperties' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 74 |         var p = InternalProperties()
 75 |         let infoDict = Bundle.main.infoDictionary
/Users/admin/builder/spi-builder-workspace/Sources/Constants.swift:16:16: warning: static property 'queueSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | struct QueueConstants {
16 |     static var queueSize = 5000
   |                |- warning: static property 'queueSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'queueSize' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'queueSize' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | }
18 |
[49/50] Compiling Mixpanel AutomaticProperties.swift
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:143:29: warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
 22 | #endif
 23 |
 24 | class AutomaticEvents: NSObject, SKPaymentTransactionObserver, SKProductsRequestDelegate {
    |       `- note: class 'AutomaticEvents' does not conform to the 'Sendable' protocol
 25 |
 26 |     var _minimumSessionDuration: UInt64 = 10000
    :
141 |                         case .purchased:
142 |                             productIdentifiers.insert(trans.payment.productIdentifier)
143 |                             awaitingTransactions[trans.payment.productIdentifier] = trans
    |                             `- warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
144 |                         case .failed: break
145 |                         case .restored: break
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:17: warning: capture of 'productsRequest' with non-sendable type 'SKProductsRequest' in a '@Sendable' closure
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                 `- warning: capture of 'productsRequest' with non-sendable type 'SKProductsRequest' in a '@Sendable' closure
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductsRequest.h:28:12: note: class 'SKProductsRequest' does not conform to the 'Sendable' protocol
26 | API_DEPRECATED("Use Product.products(for:)", ios(3.0, 18.0), macos(10.7, 15.0), watchos(6.2, 11.0), visionos(1.0, 2.0))
27 | NS_SWIFT_NONSENDABLE
28 | @interface SKProductsRequest : SKRequest {
   |            `- note: class 'SKProductsRequest' does not conform to the 'Sendable' protocol
29 | @private
30 |     id _productsRequestInternal;
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:142:29: warning: mutation of captured var 'productIdentifiers' in concurrently-executing code
140 |                     switch trans.transactionState {
141 |                         case .purchased:
142 |                             productIdentifiers.insert(trans.payment.productIdentifier)
    |                             `- warning: mutation of captured var 'productIdentifiers' in concurrently-executing code
143 |                             awaitingTransactions[trans.payment.productIdentifier] = trans
144 |                         case .failed: break
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:150:17: warning: reference to captured var 'productIdentifiers' in concurrently-executing code
148 |                 }
149 |             }
150 |             if !productIdentifiers.isEmpty {
    |                 `- warning: reference to captured var 'productIdentifiers' in concurrently-executing code
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:17: warning: mutation of captured var 'productsRequest' in concurrently-executing code
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                 `- warning: mutation of captured var 'productsRequest' in concurrently-executing code
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:73: warning: reference to captured var 'productIdentifiers' in concurrently-executing code
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                                                                         `- warning: reference to captured var 'productIdentifiers' in concurrently-executing code
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:152:17: warning: reference to captured var 'productsRequest' in concurrently-executing code
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
    |                 `- warning: reference to captured var 'productsRequest' in concurrently-executing code
153 |                 productsRequest.start()
154 |             }
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:153:17: warning: reference to captured var 'productsRequest' in concurrently-executing code
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
    |                 `- warning: reference to captured var 'productsRequest' in concurrently-executing code
154 |             }
155 |         }
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:166:32: warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
 22 | #endif
 23 |
 24 | class AutomaticEvents: NSObject, SKPaymentTransactionObserver, SKProductsRequestDelegate {
    |       `- note: class 'AutomaticEvents' does not conform to the 'Sendable' protocol
 25 |
 26 |     var _minimumSessionDuration: UInt64 = 10000
    :
164 |         awaitingTransactionsWriteLock.async { [self] in
165 |             for product in response.products {
166 |                 if let trans = awaitingTransactions[product.productIdentifier] {
    |                                `- warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
167 |                     delegate?.track(
168 |                         event: "$ae_iap",
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:20:16: warning: static property 'automaticPropertiesLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class AutomaticProperties {
 20 |     static let automaticPropertiesLock = ReadWriteLock(label: "automaticPropertiesLock")
    |                |- warning: static property 'automaticPropertiesLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'automaticPropertiesLock' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     static var properties: InternalProperties = {
/Users/admin/builder/spi-builder-workspace/Sources/ReadWriteLock.swift:10:7: note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | class ReadWriteLock {
   |       `- note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
11 |     private let concurrentQueue: DispatchQueue
12 |
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:22:16: warning: static property 'properties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 20 |     static let automaticPropertiesLock = ReadWriteLock(label: "automaticPropertiesLock")
 21 |
 22 |     static var properties: InternalProperties = {
    |                |- warning: static property 'properties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'properties' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'properties' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |         var p = InternalProperties()
 24 |
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:73:16: warning: static property 'peopleProperties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 71 |     }()
 72 |
 73 |     static var peopleProperties: InternalProperties = {
    |                |- warning: static property 'peopleProperties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'peopleProperties' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'peopleProperties' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 74 |         var p = InternalProperties()
 75 |         let infoDict = Bundle.main.infoDictionary
/Users/admin/builder/spi-builder-workspace/Sources/Constants.swift:16:16: warning: static property 'queueSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | struct QueueConstants {
16 |     static var queueSize = 5000
   |                |- warning: static property 'queueSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'queueSize' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'queueSize' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | }
18 |
[50/50] Compiling Mixpanel Constants.swift
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:143:29: warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
 22 | #endif
 23 |
 24 | class AutomaticEvents: NSObject, SKPaymentTransactionObserver, SKProductsRequestDelegate {
    |       `- note: class 'AutomaticEvents' does not conform to the 'Sendable' protocol
 25 |
 26 |     var _minimumSessionDuration: UInt64 = 10000
    :
141 |                         case .purchased:
142 |                             productIdentifiers.insert(trans.payment.productIdentifier)
143 |                             awaitingTransactions[trans.payment.productIdentifier] = trans
    |                             `- warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
144 |                         case .failed: break
145 |                         case .restored: break
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:17: warning: capture of 'productsRequest' with non-sendable type 'SKProductsRequest' in a '@Sendable' closure
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                 `- warning: capture of 'productsRequest' with non-sendable type 'SKProductsRequest' in a '@Sendable' closure
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductsRequest.h:28:12: note: class 'SKProductsRequest' does not conform to the 'Sendable' protocol
26 | API_DEPRECATED("Use Product.products(for:)", ios(3.0, 18.0), macos(10.7, 15.0), watchos(6.2, 11.0), visionos(1.0, 2.0))
27 | NS_SWIFT_NONSENDABLE
28 | @interface SKProductsRequest : SKRequest {
   |            `- note: class 'SKProductsRequest' does not conform to the 'Sendable' protocol
29 | @private
30 |     id _productsRequestInternal;
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:142:29: warning: mutation of captured var 'productIdentifiers' in concurrently-executing code
140 |                     switch trans.transactionState {
141 |                         case .purchased:
142 |                             productIdentifiers.insert(trans.payment.productIdentifier)
    |                             `- warning: mutation of captured var 'productIdentifiers' in concurrently-executing code
143 |                             awaitingTransactions[trans.payment.productIdentifier] = trans
144 |                         case .failed: break
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:150:17: warning: reference to captured var 'productIdentifiers' in concurrently-executing code
148 |                 }
149 |             }
150 |             if !productIdentifiers.isEmpty {
    |                 `- warning: reference to captured var 'productIdentifiers' in concurrently-executing code
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:17: warning: mutation of captured var 'productsRequest' in concurrently-executing code
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                 `- warning: mutation of captured var 'productsRequest' in concurrently-executing code
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:151:73: warning: reference to captured var 'productIdentifiers' in concurrently-executing code
149 |             }
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
    |                                                                         `- warning: reference to captured var 'productIdentifiers' in concurrently-executing code
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:152:17: warning: reference to captured var 'productsRequest' in concurrently-executing code
150 |             if !productIdentifiers.isEmpty {
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
    |                 `- warning: reference to captured var 'productsRequest' in concurrently-executing code
153 |                 productsRequest.start()
154 |             }
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:153:17: warning: reference to captured var 'productsRequest' in concurrently-executing code
151 |                 productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
152 |                 productsRequest.delegate = self
153 |                 productsRequest.start()
    |                 `- warning: reference to captured var 'productsRequest' in concurrently-executing code
154 |             }
155 |         }
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticEvents.swift:166:32: warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
 22 | #endif
 23 |
 24 | class AutomaticEvents: NSObject, SKPaymentTransactionObserver, SKProductsRequestDelegate {
    |       `- note: class 'AutomaticEvents' does not conform to the 'Sendable' protocol
 25 |
 26 |     var _minimumSessionDuration: UInt64 = 10000
    :
164 |         awaitingTransactionsWriteLock.async { [self] in
165 |             for product in response.products {
166 |                 if let trans = awaitingTransactions[product.productIdentifier] {
    |                                `- warning: capture of 'self' with non-sendable type 'AutomaticEvents' in a '@Sendable' closure
167 |                     delegate?.track(
168 |                         event: "$ae_iap",
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:20:16: warning: static property 'automaticPropertiesLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class AutomaticProperties {
 20 |     static let automaticPropertiesLock = ReadWriteLock(label: "automaticPropertiesLock")
    |                |- warning: static property 'automaticPropertiesLock' is not concurrency-safe because non-'Sendable' type 'ReadWriteLock' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'automaticPropertiesLock' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     static var properties: InternalProperties = {
/Users/admin/builder/spi-builder-workspace/Sources/ReadWriteLock.swift:10:7: note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | class ReadWriteLock {
   |       `- note: class 'ReadWriteLock' does not conform to the 'Sendable' protocol
11 |     private let concurrentQueue: DispatchQueue
12 |
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:22:16: warning: static property 'properties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 20 |     static let automaticPropertiesLock = ReadWriteLock(label: "automaticPropertiesLock")
 21 |
 22 |     static var properties: InternalProperties = {
    |                |- warning: static property 'properties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'properties' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'properties' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |         var p = InternalProperties()
 24 |
/Users/admin/builder/spi-builder-workspace/Sources/AutomaticProperties.swift:73:16: warning: static property 'peopleProperties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 71 |     }()
 72 |
 73 |     static var peopleProperties: InternalProperties = {
    |                |- warning: static property 'peopleProperties' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'peopleProperties' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'peopleProperties' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 74 |         var p = InternalProperties()
 75 |         let infoDict = Bundle.main.infoDictionary
/Users/admin/builder/spi-builder-workspace/Sources/Constants.swift:16:16: warning: static property 'queueSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | struct QueueConstants {
16 |     static var queueSize = 5000
   |                |- warning: static property 'queueSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'queueSize' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'queueSize' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | }
18 |
Build complete! (11.59s)
Fetching https://github.com/mixpanel/mixpanel-swift-common.git
[1/781] Fetching mixpanel-swift-common
Fetched https://github.com/mixpanel/mixpanel-swift-common.git from cache (0.93s)
Computing version for https://github.com/mixpanel/mixpanel-swift-common.git
Computed https://github.com/mixpanel/mixpanel-swift-common.git at 2.0.0 (1.54s)
Creating working copy for https://github.com/mixpanel/mixpanel-swift-common.git
Working copy of https://github.com/mixpanel/mixpanel-swift-common.git resolved at 2.0.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "mixpanel-swift-common",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mixpanel/mixpanel-swift-common.git"
    }
  ],
  "manifest_display_name" : "Mixpanel",
  "name" : "Mixpanel",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "Mixpanel",
      "targets" : [
        "Mixpanel"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Mixpanel",
      "module_type" : "SwiftTarget",
      "name" : "Mixpanel",
      "path" : "Sources",
      "product_dependencies" : [
        "MixpanelSwiftCommon"
      ],
      "product_memberships" : [
        "Mixpanel"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Mixpanel/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Autocapture.swift",
        "Autocapture/AutocaptureManager.swift",
        "Autocapture/AutocaptureOptions.swift",
        "Autocapture/DeadClickDetector.swift",
        "Autocapture/ElementIdExtractor.swift",
        "Autocapture/Model/ClickEvent.swift",
        "Autocapture/RageClickTracker.swift",
        "Autocapture/SemanticExtractor.swift",
        "Autocapture/TouchInterceptor.swift",
        "AutomaticEvents.swift",
        "AutomaticProperties.swift",
        "Constants.swift",
        "CustomOperators.swift",
        "Data+Compression.swift",
        "Error.swift",
        "FeatureFlags.swift",
        "FileLogging.swift",
        "Flush.swift",
        "FlushRequest.swift",
        "Group.swift",
        "JSONHandler.swift",
        "MPDB.swift",
        "Mixpanel.swift",
        "MixpanelInstance.swift",
        "MixpanelLogger.swift",
        "MixpanelOptions.swift",
        "MixpanelPersistence.swift",
        "MixpanelType.swift",
        "Network.swift",
        "People.swift",
        "PrintLogging.swift",
        "ReadWriteLock.swift",
        "SessionMetadata.swift",
        "Track.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.