Build Information
Successful build of VIViewInvalidating, reference 3.0.1 (7539fb
), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 15:45:50 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/dagronf/VIViewInvalidating.git
Reference: 3.0.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dagronf/VIViewInvalidating
* tag 3.0.1 -> FETCH_HEAD
HEAD is now at 7539fb1 Fixed demo linkage
Cloned https://github.com/dagronf/VIViewInvalidating.git
Revision (git rev-parse @):
7539fb18d8366c338a701b32ec356a756c965b81
SUCCESS checkout https://github.com/dagronf/VIViewInvalidating.git at 3.0.1
========================================
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": "viviewinvalidating",
"name": "VIViewInvalidating",
"url": "https://github.com/dagronf/VIViewInvalidating.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/VIViewInvalidating",
"dependencies": [
]
}
]
}
Fetching https://github.com/dagronf/VIViewInvalidating.git
[1/135] Fetching viviewinvalidating
Fetched https://github.com/dagronf/VIViewInvalidating.git from cache (0.59s)
Creating working copy for https://github.com/dagronf/VIViewInvalidating.git
Working copy of https://github.com/dagronf/VIViewInvalidating.git resolved at 3.0.1 (7539fb1)
warning: '.resolve-product-dependencies': dependency 'viviewinvalidating' 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/dagronf/VIViewInvalidating.git
https://github.com/dagronf/VIViewInvalidating.git
{
"dependencies" : [
],
"manifest_display_name" : "VIViewInvalidating",
"name" : "VIViewInvalidating",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.11"
},
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "VIViewInvalidating",
"targets" : [
"VIViewInvalidating"
],
"type" : {
"library" : [
"dynamic"
]
}
},
{
"name" : "VIViewInvalidatingStatic",
"targets" : [
"VIViewInvalidating"
],
"type" : {
"library" : [
"static"
]
}
}
],
"targets" : [
{
"c99name" : "VIViewInvalidatingTests",
"module_type" : "SwiftTarget",
"name" : "VIViewInvalidatingTests",
"path" : "Tests/VIViewInvalidatingTests",
"sources" : [
"VIViewInvalidatingTests.swift"
],
"target_dependencies" : [
"VIViewInvalidating"
],
"type" : "test"
},
{
"c99name" : "VIViewInvalidating",
"module_type" : "SwiftTarget",
"name" : "VIViewInvalidating",
"path" : "Sources/VIViewInvalidating",
"product_memberships" : [
"VIViewInvalidating",
"VIViewInvalidatingStatic"
],
"sources" : [
"VIViewInvalidatingPropertyWrapper.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/6] Write sources
[1/6] Write swift-version-2F0A5646E1D333AE.txt
[3/8] Emitting module VIViewInvalidating
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:122:20: warning: static property 'display' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.Display' may have shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// `setNeedsDisplay`
122 | public static let display = VIViewInvalidatorAction.Display()
| |- warning: static property 'display' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.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
123 | /// `setNeedsUpdateConstraints`
124 | public static let constraints = VIViewInvalidatorAction.Constraints()
:
239 | public extension VIViewInvalidatorAction {
240 |
241 | class Display: VIViewInvalidatorAction {
| `- note: class 'Display' does not conform to the 'Sendable' protocol
242 | public override func invalidate(_ view: VIViewType) {
243 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:124:20: warning: static property 'constraints' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.Constraints' may have shared mutable state; this is an error in the Swift 6 language mode
122 | public static let display = VIViewInvalidatorAction.Display()
123 | /// `setNeedsUpdateConstraints`
124 | public static let constraints = VIViewInvalidatorAction.Constraints()
| |- warning: static property 'constraints' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.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
125 | /// `setNeedsLayout`
126 | public static let layout = VIViewInvalidatorAction.Layout()
:
249 | }
250 |
251 | class Constraints: VIViewInvalidatorAction {
| `- note: class 'Constraints' does not conform to the 'Sendable' protocol
252 | public override func invalidate(_ view: VIViewType) {
253 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:126:20: warning: static property 'layout' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.Layout' may have shared mutable state; this is an error in the Swift 6 language mode
124 | public static let constraints = VIViewInvalidatorAction.Constraints()
125 | /// `setNeedsLayout`
126 | public static let layout = VIViewInvalidatorAction.Layout()
| |- warning: static property 'layout' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.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
127 | /// `invalidateIntrinsicContentSize`
128 | public static let intrinsicContentSize = VIViewInvalidatorAction.InstrinsicContentSize()
:
259 | }
260 |
261 | class Layout: VIViewInvalidatorAction {
| `- note: class 'Layout' does not conform to the 'Sendable' protocol
262 | public override func invalidate(_ view: VIViewType) {
263 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:128:20: warning: static property 'intrinsicContentSize' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.InstrinsicContentSize' may have shared mutable state; this is an error in the Swift 6 language mode
126 | public static let layout = VIViewInvalidatorAction.Layout()
127 | /// `invalidateIntrinsicContentSize`
128 | public static let intrinsicContentSize = VIViewInvalidatorAction.InstrinsicContentSize()
| |- warning: static property 'intrinsicContentSize' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.InstrinsicContentSize' 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
129 |
130 | #if canImport(AppKit)
:
269 | }
270 |
271 | class InstrinsicContentSize: VIViewInvalidatorAction {
| `- note: class 'InstrinsicContentSize' does not conform to the 'Sendable' protocol
272 | public override func invalidate(_ view: VIViewType) {
273 | view.invalidateIntrinsicContentSize()
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:132:20: warning: static property 'restorableState' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.RestorableState' may have shared mutable state; this is an error in the Swift 6 language mode
130 | #if canImport(AppKit)
131 | /// `invalidateRestorableState`
132 | public static let restorableState = VIViewInvalidatorAction.RestorableState()
| |- warning: static property 'restorableState' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.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
133 | #endif
134 | }
:
276 |
277 | #if canImport(AppKit)
278 | class RestorableState: VIViewInvalidatorAction {
| `- note: class 'RestorableState' does not conform to the 'Sendable' protocol
279 | public override func invalidate(_ view: VIViewType) {
280 | view.invalidateRestorableState()
[4/8] Compiling VIViewInvalidating VIViewInvalidatingPropertyWrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:122:20: warning: static property 'display' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.Display' may have shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// `setNeedsDisplay`
122 | public static let display = VIViewInvalidatorAction.Display()
| |- warning: static property 'display' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.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
123 | /// `setNeedsUpdateConstraints`
124 | public static let constraints = VIViewInvalidatorAction.Constraints()
:
239 | public extension VIViewInvalidatorAction {
240 |
241 | class Display: VIViewInvalidatorAction {
| `- note: class 'Display' does not conform to the 'Sendable' protocol
242 | public override func invalidate(_ view: VIViewType) {
243 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:124:20: warning: static property 'constraints' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.Constraints' may have shared mutable state; this is an error in the Swift 6 language mode
122 | public static let display = VIViewInvalidatorAction.Display()
123 | /// `setNeedsUpdateConstraints`
124 | public static let constraints = VIViewInvalidatorAction.Constraints()
| |- warning: static property 'constraints' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.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
125 | /// `setNeedsLayout`
126 | public static let layout = VIViewInvalidatorAction.Layout()
:
249 | }
250 |
251 | class Constraints: VIViewInvalidatorAction {
| `- note: class 'Constraints' does not conform to the 'Sendable' protocol
252 | public override func invalidate(_ view: VIViewType) {
253 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:126:20: warning: static property 'layout' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.Layout' may have shared mutable state; this is an error in the Swift 6 language mode
124 | public static let constraints = VIViewInvalidatorAction.Constraints()
125 | /// `setNeedsLayout`
126 | public static let layout = VIViewInvalidatorAction.Layout()
| |- warning: static property 'layout' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.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
127 | /// `invalidateIntrinsicContentSize`
128 | public static let intrinsicContentSize = VIViewInvalidatorAction.InstrinsicContentSize()
:
259 | }
260 |
261 | class Layout: VIViewInvalidatorAction {
| `- note: class 'Layout' does not conform to the 'Sendable' protocol
262 | public override func invalidate(_ view: VIViewType) {
263 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:128:20: warning: static property 'intrinsicContentSize' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.InstrinsicContentSize' may have shared mutable state; this is an error in the Swift 6 language mode
126 | public static let layout = VIViewInvalidatorAction.Layout()
127 | /// `invalidateIntrinsicContentSize`
128 | public static let intrinsicContentSize = VIViewInvalidatorAction.InstrinsicContentSize()
| |- warning: static property 'intrinsicContentSize' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.InstrinsicContentSize' 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
129 |
130 | #if canImport(AppKit)
:
269 | }
270 |
271 | class InstrinsicContentSize: VIViewInvalidatorAction {
| `- note: class 'InstrinsicContentSize' does not conform to the 'Sendable' protocol
272 | public override func invalidate(_ view: VIViewType) {
273 | view.invalidateIntrinsicContentSize()
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:132:20: warning: static property 'restorableState' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.RestorableState' may have shared mutable state; this is an error in the Swift 6 language mode
130 | #if canImport(AppKit)
131 | /// `invalidateRestorableState`
132 | public static let restorableState = VIViewInvalidatorAction.RestorableState()
| |- warning: static property 'restorableState' is not concurrency-safe because non-'Sendable' type 'VIViewInvalidatorAction.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
133 | #endif
134 | }
:
276 |
277 | #if canImport(AppKit)
278 | class RestorableState: VIViewInvalidatorAction {
| `- note: class 'RestorableState' does not conform to the 'Sendable' protocol
279 | public override func invalidate(_ view: VIViewType) {
280 | view.invalidateRestorableState()
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:244:9: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
242 | public override func invalidate(_ view: VIViewType) {
243 | #if os(macOS)
244 | view.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
245 | #else
246 | view.setNeedsDisplay()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:187:16: note: mutation of this property is only permitted within the actor
185 | @property (readonly) BOOL canDraw API_DEPRECATED("If a view needs display, -drawRect: or -updateLayer will be called automatically when the view is able to draw. To check whether a view is in a window, call -window. To check whether a view is hidden, call -isHiddenOrHasHiddenAncestor.", macos(10.0,10.14));
186 | - (void)setNeedsDisplayInRect:(NSRect)invalidRect;
187 | @property BOOL needsDisplay;
| `- note: mutation of this property is only permitted within the actor
188 | - (void)lockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
189 | - (void)unlockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
/Users/admin/builder/spi-builder-workspace/Sources/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:254:9: warning: main actor-isolated property 'needsUpdateConstraints' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
252 | public override func invalidate(_ view: VIViewType) {
253 | #if os(macOS)
254 | 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
255 | #else
256 | view.setNeedsUpdateConstraints()
/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/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:264:9: warning: main actor-isolated property 'needsLayout' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
262 | public override func invalidate(_ view: VIViewType) {
263 | #if os(macOS)
264 | 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
265 | #else
266 | view.setNeedsLayout()
/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/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:273:9: warning: call to main actor-isolated instance method 'invalidateIntrinsicContentSize()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
271 | class InstrinsicContentSize: VIViewInvalidatorAction {
272 | public override func invalidate(_ view: VIViewType) {
273 | 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
274 | }
275 | }
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/VIViewInvalidating/VIViewInvalidatingPropertyWrapper.swift:280:9: warning: call to main actor-isolated instance method 'invalidateRestorableState()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
278 | class RestorableState: VIViewInvalidatorAction {
279 | public override func invalidate(_ view: VIViewType) {
280 | 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
281 | }
282 | }
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 |
[4/8] Write Objects.LinkFileList
[6/8] Archiving libVIViewInvalidatingStatic.a
[7/8] Linking libVIViewInvalidating.dylib
Build complete! (6.58s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "VIViewInvalidating",
"name" : "VIViewInvalidating",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.11"
},
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "VIViewInvalidating",
"targets" : [
"VIViewInvalidating"
],
"type" : {
"library" : [
"dynamic"
]
}
},
{
"name" : "VIViewInvalidatingStatic",
"targets" : [
"VIViewInvalidating"
],
"type" : {
"library" : [
"static"
]
}
}
],
"targets" : [
{
"c99name" : "VIViewInvalidatingTests",
"module_type" : "SwiftTarget",
"name" : "VIViewInvalidatingTests",
"path" : "Tests/VIViewInvalidatingTests",
"sources" : [
"VIViewInvalidatingTests.swift"
],
"target_dependencies" : [
"VIViewInvalidating"
],
"type" : "test"
},
{
"c99name" : "VIViewInvalidating",
"module_type" : "SwiftTarget",
"name" : "VIViewInvalidating",
"path" : "Sources/VIViewInvalidating",
"product_memberships" : [
"VIViewInvalidating",
"VIViewInvalidatingStatic"
],
"sources" : [
"VIViewInvalidatingPropertyWrapper.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.