Build Information
Successful build of WhatsNewKit, reference v2.0.0 (13e529), with Swift 6.1 for macOS (SPM) on 14 Nov 2025 09:25:09 UTC.
Swift 6 data race errors: 4
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 InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/AnimatedCoding/WhatsNewKit.git
Reference: v2.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/AnimatedCoding/WhatsNewKit
* tag v2.0.0 -> FETCH_HEAD
HEAD is now at 13e529a v2, it works : )
Cloned https://github.com/AnimatedCoding/WhatsNewKit.git
Revision (git rev-parse @):
13e529aa15b0cf0442c2f77f9cb7348ca89e397d
SUCCESS checkout https://github.com/AnimatedCoding/WhatsNewKit.git at v2.0.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/AnimatedCoding/WhatsNewKit.git
https://github.com/AnimatedCoding/WhatsNewKit.git
{
"dependencies" : [
],
"manifest_display_name" : "WhatsNewKit",
"name" : "WhatsNewKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "WhatsNewKit",
"targets" : [
"WhatsNewKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "WhatsNewKitTests",
"module_type" : "SwiftTarget",
"name" : "WhatsNewKitTests",
"path" : "Tests",
"sources" : [
"WhatsNewEnvironmentTests.swift",
"WhatsNewKitTestCase.swift",
"WhatsNewVersionStoreTests.swift",
"WhatsNewVersionTests.swift",
"WhatsNewViewControllerTests.swift"
],
"target_dependencies" : [
"WhatsNewKit"
],
"type" : "test"
},
{
"c99name" : "WhatsNewKit",
"module_type" : "SwiftTarget",
"name" : "WhatsNewKit",
"path" : "Sources",
"product_memberships" : [
"WhatsNewKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Collection/WhatsNewCollection.swift",
"Collection/WhatsNewCollectionBuilder.swift",
"Collection/WhatsNewCollectionProvider.swift",
"Environment/WhatsNewEnvironment+Key.swift",
"Environment/WhatsNewEnvironment.swift",
"Extensions/ScrollView+alwaysBounceVertical.swift",
"Extensions/Text+WhatsNewText.swift",
"Extensions/UIVisualEffectView+Representable.swift",
"Extensions/View+WhatsNewSheet.swift",
"Extensions/WhatsNew+Version+Key.swift",
"Models/WhatsNew+Feature+Image.swift",
"Models/WhatsNew+Feature.swift",
"Models/WhatsNew+FeatureGroup.swift",
"Models/WhatsNew+HapticFeedback.swift",
"Models/WhatsNew+Layout.swift",
"Models/WhatsNew+PrimaryAction.swift",
"Models/WhatsNew+SecondaryAction+Action.swift",
"Models/WhatsNew+SecondaryAction.swift",
"Models/WhatsNew+Text.swift",
"Models/WhatsNew+Title.swift",
"Models/WhatsNew+Version.swift",
"Models/WhatsNew.swift",
"Store/InMemoryWhatsNewVersionStore.swift",
"Store/NSUbiquitousKeyValueWhatsNewVersionStore.swift",
"Store/UserDefaultsWhatsNewVersionStore.swift",
"Store/WhatsNewVersionStore.swift",
"View/FeatureView.swift",
"View/WhatsNewView+FeaturesPadding.swift",
"View/WhatsNewView+FooterPadding.swift",
"View/WhatsNewView+PrimaryButtonStyle.swift",
"View/WhatsNewView.swift",
"ViewController/WhatsNewViewController.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
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/3] Write sources
[1/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/34] Emitting module WhatsNewKit
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// The default value for the environment key
11 | public static var defaultValue = WhatsNewEnvironment()
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 | /// The mutable default Layout
106 | static var `default` = Self()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |
108 | }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+SecondaryAction+Action.swift:38:16: warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// A WhatsNew Secondary Action
8 | enum Action {
| `- note: consider making enum 'Action' conform to the 'Sendable' protocol
9 | /// Present View
10 | case present(AnyView)
:
36 |
37 | /// Dismiss WhatsNewView
38 | static let dismiss: Self = .custom { presentationMode in
| |- warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dismiss' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 | presentationMode.wrappedValue.dismiss()
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/Store/InMemoryWhatsNewVersionStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// The InMemoryWhatsNewVersionStore
6 | public final class InMemoryWhatsNewVersionStore {
| `- note: class 'InMemoryWhatsNewVersionStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryWhatsNewVersionStore` instance
11 | public static let shared = InMemoryWhatsNewVersionStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | // MARK: Properties
[5/37] Compiling WhatsNewKit WhatsNewView.swift
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:145:20: warning: value 'i' was defined but never used; consider replacing with boolean test
143 | }
144 | .onAppear {
145 | if let i = whatsNew.selectedFeature {
| `- warning: value 'i' was defined but never used; consider replacing with boolean test
146 | groupIndex = 0
147 | }
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:39: warning: expression of type 'WhatsNew.HapticFeedback?' is unused
330 | action: {
331 | // Invoke HapticFeedback, if available
332 | primaryAction.hapticFeedback
| `- warning: expression of type 'WhatsNew.HapticFeedback?' is unused
333 | // Invoke on dismiss, if available
334 | primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:25: warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
328 | if let primaryAction = self.whatsNew.selectedFeature?.primaryAction {
329 | Button(
330 | action: {
| `- note: access can happen concurrently
331 | // Invoke HapticFeedback, if available
332 | primaryAction.hapticFeedback
| |- warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
| `- note: main actor-isolated 'primaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
333 | // Invoke on dismiss, if available
334 | primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:334:47: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
332 | primaryAction.hapticFeedback
333 | // Invoke on dismiss, if available
334 | primaryAction.action?(moveToNext, dismiss)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: main actor-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
335 | }
336 | ) {
| `- note: access can happen concurrently
337 | Text(
338 | whatsNewText:primaryAction.title
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:304:25: warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
302 | action: {
303 | // Invoke HapticFeedback, if available
304 | secondaryAction.hapticFeedback?()
| |- warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'secondaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
305 | // Switch on Action
306 | switch secondaryAction.action {
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:309:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
307 | case .present(let view):
308 | // Set secondary action presented view
309 | self.secondaryActionPresentedView = .init(view: view)
| |- 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
310 | case .custom(let action):
311 | // Invoke action with PresentationMode
[6/37] Compiling WhatsNewKit WhatsNewViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:145:20: warning: value 'i' was defined but never used; consider replacing with boolean test
143 | }
144 | .onAppear {
145 | if let i = whatsNew.selectedFeature {
| `- warning: value 'i' was defined but never used; consider replacing with boolean test
146 | groupIndex = 0
147 | }
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:39: warning: expression of type 'WhatsNew.HapticFeedback?' is unused
330 | action: {
331 | // Invoke HapticFeedback, if available
332 | primaryAction.hapticFeedback
| `- warning: expression of type 'WhatsNew.HapticFeedback?' is unused
333 | // Invoke on dismiss, if available
334 | primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:25: warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
328 | if let primaryAction = self.whatsNew.selectedFeature?.primaryAction {
329 | Button(
330 | action: {
| `- note: access can happen concurrently
331 | // Invoke HapticFeedback, if available
332 | primaryAction.hapticFeedback
| |- warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
| `- note: main actor-isolated 'primaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
333 | // Invoke on dismiss, if available
334 | primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:334:47: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
332 | primaryAction.hapticFeedback
333 | // Invoke on dismiss, if available
334 | primaryAction.action?(moveToNext, dismiss)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: main actor-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
335 | }
336 | ) {
| `- note: access can happen concurrently
337 | Text(
338 | whatsNewText:primaryAction.title
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:304:25: warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
302 | action: {
303 | // Invoke HapticFeedback, if available
304 | secondaryAction.hapticFeedback?()
| |- warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'secondaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
305 | // Switch on Action
306 | switch secondaryAction.action {
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:309:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
307 | case .present(let view):
308 | // Set secondary action presented view
309 | self.secondaryActionPresentedView = .init(view: view)
| |- 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
310 | case .custom(let action):
311 | // Invoke action with PresentationMode
[7/37] Compiling WhatsNewKit resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:145:20: warning: value 'i' was defined but never used; consider replacing with boolean test
143 | }
144 | .onAppear {
145 | if let i = whatsNew.selectedFeature {
| `- warning: value 'i' was defined but never used; consider replacing with boolean test
146 | groupIndex = 0
147 | }
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:39: warning: expression of type 'WhatsNew.HapticFeedback?' is unused
330 | action: {
331 | // Invoke HapticFeedback, if available
332 | primaryAction.hapticFeedback
| `- warning: expression of type 'WhatsNew.HapticFeedback?' is unused
333 | // Invoke on dismiss, if available
334 | primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:25: warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
328 | if let primaryAction = self.whatsNew.selectedFeature?.primaryAction {
329 | Button(
330 | action: {
| `- note: access can happen concurrently
331 | // Invoke HapticFeedback, if available
332 | primaryAction.hapticFeedback
| |- warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
| `- note: main actor-isolated 'primaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
333 | // Invoke on dismiss, if available
334 | primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:334:47: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
332 | primaryAction.hapticFeedback
333 | // Invoke on dismiss, if available
334 | primaryAction.action?(moveToNext, dismiss)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: main actor-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
335 | }
336 | ) {
| `- note: access can happen concurrently
337 | Text(
338 | whatsNewText:primaryAction.title
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:304:25: warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
302 | action: {
303 | // Invoke HapticFeedback, if available
304 | secondaryAction.hapticFeedback?()
| |- warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'secondaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
305 | // Switch on Action
306 | switch secondaryAction.action {
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:309:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
307 | case .present(let view):
308 | // Set secondary action presented view
309 | self.secondaryActionPresentedView = .init(view: view)
| |- 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
310 | case .custom(let action):
311 | // Invoke action with PresentationMode
[8/37] Compiling WhatsNewKit WhatsNewCollection.swift
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// The default value for the environment key
11 | public static var defaultValue = WhatsNewEnvironment()
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | }
[9/37] Compiling WhatsNewKit WhatsNewCollectionBuilder.swift
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// The default value for the environment key
11 | public static var defaultValue = WhatsNewEnvironment()
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | }
[10/37] Compiling WhatsNewKit WhatsNewCollectionProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// The default value for the environment key
11 | public static var defaultValue = WhatsNewEnvironment()
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | }
[11/37] Compiling WhatsNewKit WhatsNewEnvironment+Key.swift
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// The default value for the environment key
11 | public static var defaultValue = WhatsNewEnvironment()
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | }
[12/37] Compiling WhatsNewKit WhatsNew+Text.swift
[13/37] Compiling WhatsNewKit WhatsNew+Title.swift
[14/37] Compiling WhatsNewKit WhatsNew+Version.swift
[15/37] Compiling WhatsNewKit UserDefaultsWhatsNewVersionStore.swift
[16/37] Compiling WhatsNewKit WhatsNewVersionStore.swift
[17/37] Compiling WhatsNewKit FeatureView.swift
[18/37] Compiling WhatsNewKit WhatsNew+FeatureGroup.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 | /// The mutable default Layout
106 | static var `default` = Self()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |
108 | }
[19/37] Compiling WhatsNewKit WhatsNew+HapticFeedback.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 | /// The mutable default Layout
106 | static var `default` = Self()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |
108 | }
[20/37] Compiling WhatsNewKit WhatsNew+Layout.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 | /// The mutable default Layout
106 | static var `default` = Self()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |
108 | }
[21/37] Compiling WhatsNewKit View+WhatsNewSheet.swift
[22/37] Compiling WhatsNewKit WhatsNew+Version+Key.swift
[23/37] Compiling WhatsNewKit WhatsNew+Feature+Image.swift
[24/37] Compiling WhatsNewKit WhatsNew+Feature.swift
[25/37] Compiling WhatsNewKit WhatsNewView+FeaturesPadding.swift
[26/37] Compiling WhatsNewKit WhatsNewView+FooterPadding.swift
[27/37] Compiling WhatsNewKit WhatsNewView+PrimaryButtonStyle.swift
[28/37] Compiling WhatsNewKit WhatsNewEnvironment.swift
[29/37] Compiling WhatsNewKit ScrollView+alwaysBounceVertical.swift
[30/37] Compiling WhatsNewKit Text+WhatsNewText.swift
[31/37] Compiling WhatsNewKit UIVisualEffectView+Representable.swift
[32/37] Compiling WhatsNewKit WhatsNew.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/InMemoryWhatsNewVersionStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// The InMemoryWhatsNewVersionStore
6 | public final class InMemoryWhatsNewVersionStore {
| `- note: class 'InMemoryWhatsNewVersionStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryWhatsNewVersionStore` instance
11 | public static let shared = InMemoryWhatsNewVersionStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | // MARK: Properties
[33/37] Compiling WhatsNewKit InMemoryWhatsNewVersionStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/InMemoryWhatsNewVersionStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// The InMemoryWhatsNewVersionStore
6 | public final class InMemoryWhatsNewVersionStore {
| `- note: class 'InMemoryWhatsNewVersionStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryWhatsNewVersionStore` instance
11 | public static let shared = InMemoryWhatsNewVersionStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | // MARK: Properties
[34/37] Compiling WhatsNewKit NSUbiquitousKeyValueWhatsNewVersionStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/InMemoryWhatsNewVersionStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// The InMemoryWhatsNewVersionStore
6 | public final class InMemoryWhatsNewVersionStore {
| `- note: class 'InMemoryWhatsNewVersionStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryWhatsNewVersionStore` instance
11 | public static let shared = InMemoryWhatsNewVersionStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | // MARK: Properties
[35/37] Compiling WhatsNewKit WhatsNew+PrimaryAction.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+SecondaryAction+Action.swift:38:16: warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// A WhatsNew Secondary Action
8 | enum Action {
| `- note: consider making enum 'Action' conform to the 'Sendable' protocol
9 | /// Present View
10 | case present(AnyView)
:
36 |
37 | /// Dismiss WhatsNewView
38 | static let dismiss: Self = .custom { presentationMode in
| |- warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dismiss' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 | presentationMode.wrappedValue.dismiss()
40 | }
[36/37] Compiling WhatsNewKit WhatsNew+SecondaryAction+Action.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+SecondaryAction+Action.swift:38:16: warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// A WhatsNew Secondary Action
8 | enum Action {
| `- note: consider making enum 'Action' conform to the 'Sendable' protocol
9 | /// Present View
10 | case present(AnyView)
:
36 |
37 | /// Dismiss WhatsNewView
38 | static let dismiss: Self = .custom { presentationMode in
| |- warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dismiss' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 | presentationMode.wrappedValue.dismiss()
40 | }
[37/37] Compiling WhatsNewKit WhatsNew+SecondaryAction.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+SecondaryAction+Action.swift:38:16: warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// A WhatsNew Secondary Action
8 | enum Action {
| `- note: consider making enum 'Action' conform to the 'Sendable' protocol
9 | /// Present View
10 | case present(AnyView)
:
36 |
37 | /// Dismiss WhatsNewView
38 | static let dismiss: Self = .custom { presentationMode in
| |- warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dismiss' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 | presentationMode.wrappedValue.dismiss()
40 | }
Build complete! (9.85s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "WhatsNewKit",
"name" : "WhatsNewKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "WhatsNewKit",
"targets" : [
"WhatsNewKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "WhatsNewKitTests",
"module_type" : "SwiftTarget",
"name" : "WhatsNewKitTests",
"path" : "Tests",
"sources" : [
"WhatsNewEnvironmentTests.swift",
"WhatsNewKitTestCase.swift",
"WhatsNewVersionStoreTests.swift",
"WhatsNewVersionTests.swift",
"WhatsNewViewControllerTests.swift"
],
"target_dependencies" : [
"WhatsNewKit"
],
"type" : "test"
},
{
"c99name" : "WhatsNewKit",
"module_type" : "SwiftTarget",
"name" : "WhatsNewKit",
"path" : "Sources",
"product_memberships" : [
"WhatsNewKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Collection/WhatsNewCollection.swift",
"Collection/WhatsNewCollectionBuilder.swift",
"Collection/WhatsNewCollectionProvider.swift",
"Environment/WhatsNewEnvironment+Key.swift",
"Environment/WhatsNewEnvironment.swift",
"Extensions/ScrollView+alwaysBounceVertical.swift",
"Extensions/Text+WhatsNewText.swift",
"Extensions/UIVisualEffectView+Representable.swift",
"Extensions/View+WhatsNewSheet.swift",
"Extensions/WhatsNew+Version+Key.swift",
"Models/WhatsNew+Feature+Image.swift",
"Models/WhatsNew+Feature.swift",
"Models/WhatsNew+FeatureGroup.swift",
"Models/WhatsNew+HapticFeedback.swift",
"Models/WhatsNew+Layout.swift",
"Models/WhatsNew+PrimaryAction.swift",
"Models/WhatsNew+SecondaryAction+Action.swift",
"Models/WhatsNew+SecondaryAction.swift",
"Models/WhatsNew+Text.swift",
"Models/WhatsNew+Title.swift",
"Models/WhatsNew+Version.swift",
"Models/WhatsNew.swift",
"Store/InMemoryWhatsNewVersionStore.swift",
"Store/NSUbiquitousKeyValueWhatsNewVersionStore.swift",
"Store/UserDefaultsWhatsNewVersionStore.swift",
"Store/WhatsNewVersionStore.swift",
"View/FeatureView.swift",
"View/WhatsNewView+FeaturesPadding.swift",
"View/WhatsNewView+FooterPadding.swift",
"View/WhatsNewView+PrimaryButtonStyle.swift",
"View/WhatsNewView.swift",
"ViewController/WhatsNewViewController.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.