The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Invalidating, reference main (2e4c4d), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 13:10:09 UTC.

Swift 6 data race errors: 5

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/theblixguy/Invalidating.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/theblixguy/Invalidating
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 2e4c4d2 Create LICENSE
Cloned https://github.com/theblixguy/Invalidating.git
Revision (git rev-parse @):
2e4c4d234e9dd7a0aeb3770fd0f441e78bac25bc
SUCCESS checkout https://github.com/theblixguy/Invalidating.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "invalidating",
      "name": "Invalidating",
      "url": "https://github.com/theblixguy/Invalidating.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Invalidating",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/theblixguy/Invalidating.git
[1/134] Fetching invalidating
Fetched https://github.com/theblixguy/Invalidating.git from cache (0.96s)
Creating working copy for https://github.com/theblixguy/Invalidating.git
Working copy of https://github.com/theblixguy/Invalidating.git resolved at main (2e4c4d2)
warning: '.resolve-product-dependencies': dependency 'invalidating' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/theblixguy/Invalidating.git
https://github.com/theblixguy/Invalidating.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Invalidating",
  "name" : "Invalidating",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "11.0"
    },
    {
      "name" : "tvos",
      "version" : "11.0"
    },
    {
      "name" : "macos",
      "version" : "10.11"
    }
  ],
  "products" : [
    {
      "name" : "Invalidating",
      "targets" : [
        "Invalidating"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "InvalidatingTests",
      "module_type" : "SwiftTarget",
      "name" : "InvalidatingTests",
      "path" : "Tests/InvalidatingTests",
      "sources" : [
        "InvalidatingTests.swift"
      ],
      "target_dependencies" : [
        "Invalidating"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Invalidating",
      "module_type" : "SwiftTarget",
      "name" : "Invalidating",
      "path" : "Sources/Invalidating",
      "product_memberships" : [
        "Invalidating"
      ],
      "sources" : [
        "AnyViewInvalidating.swift",
        "Imports.swift",
        "InvalidatingStaticMember+Extensions.swift",
        "InvalidatingStaticMember.swift",
        "Invalidations.swift",
        "Tuple.swift",
        "ViewInvalidating+Extensions.swift",
        "ViewInvalidating.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/11] Compiling Invalidating Tuple.swift
[4/11] Compiling Invalidating ViewInvalidating.swift
[5/11] Compiling Invalidating ViewInvalidating+Extensions.swift
[6/11] Compiling Invalidating InvalidatingStaticMember+Extensions.swift
[7/11] Compiling Invalidating InvalidatingStaticMember.swift
[8/11] Compiling Invalidating Invalidations.swift
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:18:23: warning: static property 'layout' is not concurrency-safe because non-'Sendable' type 'Invalidations.Layout' may have shared mutable state; this is an error in the Swift 6 language mode
15 | @available(macOS, introduced: 10.11, obsoleted: 12, renamed: "NSView.Invalidations")
16 | public enum Invalidations {
17 |   public struct Layout: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'Layout' conform to the 'Sendable' protocol
18 |     public static let layout: Self = .init()
   |                       |- warning: static property 'layout' is not concurrency-safe because non-'Sendable' type 'Invalidations.Layout' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'layout' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 |     public func invalidate(view: InvalidatingViewType) {
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:30:23: warning: static property 'display' is not concurrency-safe because non-'Sendable' type 'Invalidations.Display' may have shared mutable state; this is an error in the Swift 6 language mode
27 |   }
28 |
29 |   public struct Display: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'Display' conform to the 'Sendable' protocol
30 |     public static let display: Self = .init()
   |                       |- warning: static property 'display' is not concurrency-safe because non-'Sendable' type 'Invalidations.Display' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'display' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 |     public func invalidate(view: InvalidatingViewType) {
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:42:23: warning: static property 'constraints' is not concurrency-safe because non-'Sendable' type 'Invalidations.Constraints' may have shared mutable state; this is an error in the Swift 6 language mode
39 |   }
40 |
41 |   public struct Constraints: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'Constraints' conform to the 'Sendable' protocol
42 |     public static let constraints: Self = .init()
   |                       |- warning: static property 'constraints' is not concurrency-safe because non-'Sendable' type 'Invalidations.Constraints' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'constraints' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 |     public func invalidate(view: InvalidatingViewType) {
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:54:23: warning: static property 'intrinsicContentSize' is not concurrency-safe because non-'Sendable' type 'Invalidations.IntrinsicContentSize' may have shared mutable state; this is an error in the Swift 6 language mode
51 |   }
52 |
53 |   public struct IntrinsicContentSize: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'IntrinsicContentSize' conform to the 'Sendable' protocol
54 |     public static let intrinsicContentSize: Self = .init()
   |                       |- warning: static property 'intrinsicContentSize' is not concurrency-safe because non-'Sendable' type 'Invalidations.IntrinsicContentSize' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'intrinsicContentSize' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 |     public func invalidate(view: InvalidatingViewType) {
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:63:23: warning: static property 'restorableState' is not concurrency-safe because non-'Sendable' type 'Invalidations.RestorableState' may have shared mutable state; this is an error in the Swift 6 language mode
60 |
61 | #if os(macOS)
62 |   public struct RestorableState: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'RestorableState' conform to the 'Sendable' protocol
63 |     public static let restorableState: Self = .init()
   |                       |- warning: static property 'restorableState' is not concurrency-safe because non-'Sendable' type 'Invalidations.RestorableState' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'restorableState' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 |
65 |     public func invalidate(view: InvalidatingViewType) {
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:24:12: warning: main actor-isolated property 'needsLayout' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
18 |     public static let layout: Self = .init()
19 |
20 |     public func invalidate(view: InvalidatingViewType) {
   |                 `- note: add '@MainActor' to make instance method 'invalidate(view:)' part of global actor 'MainActor'
21 | #if os(iOS) || os(tvOS)
22 |       view.setNeedsLayout()
23 | #elseif os(macOS)
24 |       view.needsLayout = true
   |            `- warning: main actor-isolated property 'needsLayout' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
25 | #endif
26 |     }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:267:16: note: mutation of this property is only permitted within the actor
265 | - (void)layoutSubtreeIfNeeded API_AVAILABLE(macos(10.7));
266 | - (void)layout API_AVAILABLE(macos(10.7));
267 | @property BOOL needsLayout API_AVAILABLE(macos(10.7));
    |                `- note: mutation of this property is only permitted within the actor
268 |
269 | @property CGFloat alphaValue API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:36:12: warning: call to main actor-isolated instance method 'setNeedsDisplay' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
30 |     public static let display: Self = .init()
31 |
32 |     public func invalidate(view: InvalidatingViewType) {
   |                 `- note: add '@MainActor' to make instance method 'invalidate(view:)' part of global actor 'MainActor'
33 | #if os(iOS) || os(tvOS)
34 |       view.setNeedsDisplay()
35 | #elseif os(macOS)
36 |       view.setNeedsDisplay(view.bounds)
   |            `- warning: call to main actor-isolated instance method 'setNeedsDisplay' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
37 | #endif
38 |     }
AppKit.NSView.setNeedsDisplay:2:22: note: calls to instance method 'setNeedsDisplay' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @MainActor open func setNeedsDisplay(_ invalidRect: NSRect)}
  |                      |- note: calls to instance method 'setNeedsDisplay' from outside of its actor context are implicitly asynchronous
  |                      `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:36:33: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
30 |     public static let display: Self = .init()
31 |
32 |     public func invalidate(view: InvalidatingViewType) {
   |                 `- note: add '@MainActor' to make instance method 'invalidate(view:)' part of global actor 'MainActor'
33 | #if os(iOS) || os(tvOS)
34 |       view.setNeedsDisplay()
35 | #elseif os(macOS)
36 |       view.setNeedsDisplay(view.bounds)
   |                                 `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
37 | #endif
38 |     }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
    |                  `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:48:12: warning: main actor-isolated property 'needsUpdateConstraints' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
42 |     public static let constraints: Self = .init()
43 |
44 |     public func invalidate(view: InvalidatingViewType) {
   |                 `- note: add '@MainActor' to make instance method 'invalidate(view:)' part of global actor 'MainActor'
45 | #if os(iOS) || os(tvOS)
46 |       view.setNeedsUpdateConstraints()
47 | #elseif os(macOS)
48 |       view.needsUpdateConstraints = true
   |            `- warning: main actor-isolated property 'needsUpdateConstraints' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
49 | #endif
50 |     }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSLayoutConstraint.h:267:16: note: mutation of this property is only permitted within the actor
265 | - (void)updateConstraintsForSubtreeIfNeeded API_AVAILABLE(macos(10.7));
266 | - (void)updateConstraints API_AVAILABLE(macos(10.7)) NS_REQUIRES_SUPER;
267 | @property BOOL needsUpdateConstraints API_AVAILABLE(macos(10.7));
    |                `- note: mutation of this property is only permitted within the actor
268 | @end
269 |
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:57:12: warning: call to main actor-isolated instance method 'invalidateIntrinsicContentSize()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
54 |     public static let intrinsicContentSize: Self = .init()
55 |
56 |     public func invalidate(view: InvalidatingViewType) {
   |                 `- note: add '@MainActor' to make instance method 'invalidate(view:)' part of global actor 'MainActor'
57 |       view.invalidateIntrinsicContentSize()
   |            `- warning: call to main actor-isolated instance method 'invalidateIntrinsicContentSize()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
58 |     }
59 |   }
AppKit.NSView.invalidateIntrinsicContentSize:3:24: note: calls to instance method 'invalidateIntrinsicContentSize()' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @available(macOS 10.7, *)
3 |   @MainActor open func invalidateIntrinsicContentSize()}
  |                        |- note: calls to instance method 'invalidateIntrinsicContentSize()' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:66:12: warning: call to main actor-isolated instance method 'invalidateRestorableState()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
63 |     public static let restorableState: Self = .init()
64 |
65 |     public func invalidate(view: InvalidatingViewType) {
   |                 `- note: add '@MainActor' to make instance method 'invalidate(view:)' part of global actor 'MainActor'
66 |       view.invalidateRestorableState()
   |            `- warning: call to main actor-isolated instance method 'invalidateRestorableState()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
67 |     }
68 |   }
AppKit.NSResponder.invalidateRestorableState:3:24: note: calls to instance method 'invalidateRestorableState()' from outside of its actor context are implicitly asynchronous
1 | class NSResponder {
2 | @available(macOS 10.7, *)
3 |   @MainActor open func invalidateRestorableState()}
  |                        `- note: calls to instance method 'invalidateRestorableState()' from outside of its actor context are implicitly asynchronous
4 |
[9/11] Compiling Invalidating AnyViewInvalidating.swift
[10/11] Compiling Invalidating Imports.swift
[11/11] Emitting module Invalidating
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:18:23: warning: static property 'layout' is not concurrency-safe because non-'Sendable' type 'Invalidations.Layout' may have shared mutable state; this is an error in the Swift 6 language mode
15 | @available(macOS, introduced: 10.11, obsoleted: 12, renamed: "NSView.Invalidations")
16 | public enum Invalidations {
17 |   public struct Layout: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'Layout' conform to the 'Sendable' protocol
18 |     public static let layout: Self = .init()
   |                       |- warning: static property 'layout' is not concurrency-safe because non-'Sendable' type 'Invalidations.Layout' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'layout' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 |     public func invalidate(view: InvalidatingViewType) {
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:30:23: warning: static property 'display' is not concurrency-safe because non-'Sendable' type 'Invalidations.Display' may have shared mutable state; this is an error in the Swift 6 language mode
27 |   }
28 |
29 |   public struct Display: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'Display' conform to the 'Sendable' protocol
30 |     public static let display: Self = .init()
   |                       |- warning: static property 'display' is not concurrency-safe because non-'Sendable' type 'Invalidations.Display' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'display' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 |     public func invalidate(view: InvalidatingViewType) {
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:42:23: warning: static property 'constraints' is not concurrency-safe because non-'Sendable' type 'Invalidations.Constraints' may have shared mutable state; this is an error in the Swift 6 language mode
39 |   }
40 |
41 |   public struct Constraints: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'Constraints' conform to the 'Sendable' protocol
42 |     public static let constraints: Self = .init()
   |                       |- warning: static property 'constraints' is not concurrency-safe because non-'Sendable' type 'Invalidations.Constraints' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'constraints' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 |     public func invalidate(view: InvalidatingViewType) {
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:54:23: warning: static property 'intrinsicContentSize' is not concurrency-safe because non-'Sendable' type 'Invalidations.IntrinsicContentSize' may have shared mutable state; this is an error in the Swift 6 language mode
51 |   }
52 |
53 |   public struct IntrinsicContentSize: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'IntrinsicContentSize' conform to the 'Sendable' protocol
54 |     public static let intrinsicContentSize: Self = .init()
   |                       |- warning: static property 'intrinsicContentSize' is not concurrency-safe because non-'Sendable' type 'Invalidations.IntrinsicContentSize' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'intrinsicContentSize' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 |     public func invalidate(view: InvalidatingViewType) {
/Users/admin/builder/spi-builder-workspace/Sources/Invalidating/Invalidations.swift:63:23: warning: static property 'restorableState' is not concurrency-safe because non-'Sendable' type 'Invalidations.RestorableState' may have shared mutable state; this is an error in the Swift 6 language mode
60 |
61 | #if os(macOS)
62 |   public struct RestorableState: InvalidatingViewProtocol {
   |                 `- note: consider making struct 'RestorableState' conform to the 'Sendable' protocol
63 |     public static let restorableState: Self = .init()
   |                       |- warning: static property 'restorableState' is not concurrency-safe because non-'Sendable' type 'Invalidations.RestorableState' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'restorableState' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 |
65 |     public func invalidate(view: InvalidatingViewType) {
Build complete! (6.72s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Invalidating",
  "name" : "Invalidating",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "11.0"
    },
    {
      "name" : "tvos",
      "version" : "11.0"
    },
    {
      "name" : "macos",
      "version" : "10.11"
    }
  ],
  "products" : [
    {
      "name" : "Invalidating",
      "targets" : [
        "Invalidating"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "InvalidatingTests",
      "module_type" : "SwiftTarget",
      "name" : "InvalidatingTests",
      "path" : "Tests/InvalidatingTests",
      "sources" : [
        "InvalidatingTests.swift"
      ],
      "target_dependencies" : [
        "Invalidating"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Invalidating",
      "module_type" : "SwiftTarget",
      "name" : "Invalidating",
      "path" : "Sources/Invalidating",
      "product_memberships" : [
        "Invalidating"
      ],
      "sources" : [
        "AnyViewInvalidating.swift",
        "Imports.swift",
        "InvalidatingStaticMember+Extensions.swift",
        "InvalidatingStaticMember.swift",
        "Invalidations.swift",
        "Tuple.swift",
        "ViewInvalidating+Extensions.swift",
        "ViewInvalidating.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.