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 PopUp, reference 1.0.0 (84353a), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 07:47:48 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 InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/maxgribov/PopUp.git
Reference: 1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/maxgribov/PopUp
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at 84353a5 update README settings info with links
Cloned https://github.com/maxgribov/PopUp.git
Revision (git rev-parse @):
84353a537969466aef6d86d906c00031b2626e11
SUCCESS checkout https://github.com/maxgribov/PopUp.git at 1.0.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "popup",
      "name": "PopUp",
      "url": "https://github.com/maxgribov/PopUp.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PopUp",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/maxgribov/PopUp.git
[1/157] Fetching popup
Fetched https://github.com/maxgribov/PopUp.git from cache (1.19s)
Creating working copy for https://github.com/maxgribov/PopUp.git
Working copy of https://github.com/maxgribov/PopUp.git resolved at 1.0.0 (84353a5)
warning: '.resolve-product-dependencies': dependency 'popup' 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/maxgribov/PopUp.git
https://github.com/maxgribov/PopUp.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PopUp",
  "name" : "PopUp",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "PopUp",
      "targets" : [
        "PopUp"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PopUp",
      "module_type" : "SwiftTarget",
      "name" : "PopUp",
      "path" : "Sources",
      "product_memberships" : [
        "PopUp"
      ],
      "sources" : [
        "Popup/Animation+ext.swift",
        "Popup/PopUp.swift",
        "Popup/PopUpViewModifier.swift",
        "Popup/Settings/BackgroundMaterial.swift",
        "Popup/Settings/DismissAnimation.swift",
        "Popup/Settings/DismissOnBackgroundTap.swift",
        "Popup/Settings/PresentAnimation.swift",
        "Popup/View+ext.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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/11] Compiling PopUp BackgroundMaterial.swift
/Users/admin/builder/spi-builder-workspace/Sources/Popup/Settings/BackgroundMaterial.swift:43:16: 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
41 |
42 | struct PopUpBackgroundMaterialKey: EnvironmentKey {
43 |     static var defaultValue: Material = .regularMaterial
   |                |- 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
44 | }
45 |
[4/11] Compiling PopUp DismissAnimation.swift
/Users/admin/builder/spi-builder-workspace/Sources/Popup/Settings/DismissAnimation.swift:42:16: 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
40 |
41 | struct PopUpDismissAnimationKey: EnvironmentKey {
42 |     static var defaultValue: Animation = .defaultPopUpDismiss
   |                |- 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
43 | }
44 |
[5/11] Emitting module PopUp
/Users/admin/builder/spi-builder-workspace/Sources/Popup/Settings/BackgroundMaterial.swift:43:16: 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
41 |
42 | struct PopUpBackgroundMaterialKey: EnvironmentKey {
43 |     static var defaultValue: Material = .regularMaterial
   |                |- 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
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/Popup/Settings/DismissAnimation.swift:42:16: 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
40 |
41 | struct PopUpDismissAnimationKey: EnvironmentKey {
42 |     static var defaultValue: Animation = .defaultPopUpDismiss
   |                |- 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
43 | }
44 |
/Users/admin/builder/spi-builder-workspace/Sources/Popup/Settings/DismissOnBackgroundTap.swift:42:16: 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
40 |
41 | struct PopUpDismissOnBackgroundTapKey: EnvironmentKey {
42 |     static var defaultValue: Bool = true
   |                |- 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
43 | }
44 |
/Users/admin/builder/spi-builder-workspace/Sources/Popup/Settings/PresentAnimation.swift:42:16: 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
40 |
41 | struct PopUpPresentAnimationKey: EnvironmentKey {
42 |     static var defaultValue: Animation = .defaultPopUpPresent
   |                |- 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
43 | }
44 |
[6/11] Compiling PopUp Animation+ext.swift
[7/11] Compiling PopUp PopUp.swift
[8/11] Compiling PopUp DismissOnBackgroundTap.swift
/Users/admin/builder/spi-builder-workspace/Sources/Popup/Settings/DismissOnBackgroundTap.swift:42:16: 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
40 |
41 | struct PopUpDismissOnBackgroundTapKey: EnvironmentKey {
42 |     static var defaultValue: Bool = true
   |                |- 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
43 | }
44 |
[9/11] Compiling PopUp View+ext.swift
[10/11] Compiling PopUp PopUpViewModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/Popup/PopUpViewModifier.swift:51:21: warning: call to main actor-isolated initializer 'init(backgroundMaterial:presentAnimation:dismissAnimation:isDismissOnBackgroundTapEnabled:transitionProgress:isPresenting:dismiss:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | struct PopUpViewModifier: ViewModifier {
   |        |- note: calls to initializer 'init(backgroundMaterial:presentAnimation:dismissAnimation:isDismissOnBackgroundTapEnabled:transitionProgress:isPresenting:dismiss:)' from outside of its actor context are implicitly asynchronous
   |        `- note: main actor isolation inferred from conformance to protocol 'ViewModifier'
11 |
12 |     @Environment(\.popUpBackgroundMaterial) var backgroundMaterial
   :
46 | extension AnyTransition {
47 |
48 |     static func popup(dismiss: @escaping () -> Void) -> AnyTransition {
   |                 `- note: add '@MainActor' to make static method 'popup(dismiss:)' part of global actor 'MainActor'
49 |
50 |         .modifier(
51 |             active: PopUpViewModifier(
   |                     `- warning: call to main actor-isolated initializer 'init(backgroundMaterial:presentAnimation:dismissAnimation:isDismissOnBackgroundTapEnabled:transitionProgress:isPresenting:dismiss:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 |                 transitionProgress: 0,
53 |                 isPresenting: false,
/Users/admin/builder/spi-builder-workspace/Sources/Popup/PopUpViewModifier.swift:56:23: warning: call to main actor-isolated initializer 'init(backgroundMaterial:presentAnimation:dismissAnimation:isDismissOnBackgroundTapEnabled:transitionProgress:isPresenting:dismiss:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | struct PopUpViewModifier: ViewModifier {
   |        |- note: calls to initializer 'init(backgroundMaterial:presentAnimation:dismissAnimation:isDismissOnBackgroundTapEnabled:transitionProgress:isPresenting:dismiss:)' from outside of its actor context are implicitly asynchronous
   |        `- note: main actor isolation inferred from conformance to protocol 'ViewModifier'
11 |
12 |     @Environment(\.popUpBackgroundMaterial) var backgroundMaterial
   :
46 | extension AnyTransition {
47 |
48 |     static func popup(dismiss: @escaping () -> Void) -> AnyTransition {
   |                 `- note: add '@MainActor' to make static method 'popup(dismiss:)' part of global actor 'MainActor'
49 |
50 |         .modifier(
   :
54 |                 dismiss: dismiss
55 |             ),
56 |             identity: PopUpViewModifier(
   |                       `- warning: call to main actor-isolated initializer 'init(backgroundMaterial:presentAnimation:dismissAnimation:isDismissOnBackgroundTapEnabled:transitionProgress:isPresenting:dismiss:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
57 |                 transitionProgress: 1,
58 |                 isPresenting: true,
/Users/admin/builder/spi-builder-workspace/Sources/Popup/PopUpViewModifier.swift:51:21: warning: sending 'dismiss' risks causing data races; this is an error in the Swift 6 language mode
49 |
50 |         .modifier(
51 |             active: PopUpViewModifier(
   |                     |- warning: sending 'dismiss' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: sending task-isolated 'dismiss' to main actor-isolated initializer 'init(backgroundMaterial:presentAnimation:dismissAnimation:isDismissOnBackgroundTapEnabled:transitionProgress:isPresenting:dismiss:)' risks causing data races between main actor-isolated and task-isolated uses
52 |                 transitionProgress: 0,
53 |                 isPresenting: false,
/Users/admin/builder/spi-builder-workspace/Sources/Popup/PopUpViewModifier.swift:56:23: warning: sending 'dismiss' risks causing data races; this is an error in the Swift 6 language mode
54 |                 dismiss: dismiss
55 |             ),
56 |             identity: PopUpViewModifier(
   |                       |- warning: sending 'dismiss' risks causing data races; this is an error in the Swift 6 language mode
   |                       `- note: sending task-isolated 'dismiss' to main actor-isolated initializer 'init(backgroundMaterial:presentAnimation:dismissAnimation:isDismissOnBackgroundTapEnabled:transitionProgress:isPresenting:dismiss:)' risks causing data races between main actor-isolated and task-isolated uses
57 |                 transitionProgress: 1,
58 |                 isPresenting: true,
[11/11] Compiling PopUp PresentAnimation.swift
/Users/admin/builder/spi-builder-workspace/Sources/Popup/Settings/PresentAnimation.swift:42:16: 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
40 |
41 | struct PopUpPresentAnimationKey: EnvironmentKey {
42 |     static var defaultValue: Animation = .defaultPopUpPresent
   |                |- 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
43 | }
44 |
Build complete! (10.17s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PopUp",
  "name" : "PopUp",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "PopUp",
      "targets" : [
        "PopUp"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PopUp",
      "module_type" : "SwiftTarget",
      "name" : "PopUp",
      "path" : "Sources",
      "product_memberships" : [
        "PopUp"
      ],
      "sources" : [
        "Popup/Animation+ext.swift",
        "Popup/PopUp.swift",
        "Popup/PopUpViewModifier.swift",
        "Popup/Settings/BackgroundMaterial.swift",
        "Popup/Settings/DismissAnimation.swift",
        "Popup/Settings/DismissOnBackgroundTap.swift",
        "Popup/Settings/PresentAnimation.swift",
        "Popup/View+ext.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.