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 Popover, reference master (6320d1), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 04:37:08 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.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.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iSapozhnik/Popover.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/iSapozhnik/Popover
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 6320d17 Create swift.yml
Cloned https://github.com/iSapozhnik/Popover.git
Revision (git rev-parse @):
6320d17adba6fde413e65f3c55fd2f19351d0ace
SUCCESS checkout https://github.com/iSapozhnik/Popover.git at master
========================================
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": "popover",
      "name": "Popover",
      "url": "https://github.com/iSapozhnik/Popover.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Popover",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/iSapozhnik/Popover.git
[1/261] Fetching popover
Fetched https://github.com/iSapozhnik/Popover.git from cache (0.83s)
Creating working copy for https://github.com/iSapozhnik/Popover.git
Working copy of https://github.com/iSapozhnik/Popover.git resolved at master (6320d17)
warning: '.resolve-product-dependencies': dependency 'popover' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/iSapozhnik/Popover.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.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--7754E27361AE5C74.txt
[3/12] Compiling Popover StatusItemContainerView.swift
[4/12] Compiling Popover PopoverWindowController.swift
[5/12] Compiling Popover Popover.swift
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:12:41: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 10 | public class Popover: NSObject {
 11 |     public var window: NSWindow? {
 12 |         return popoverWindowController?.window
    |                                         `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 13 |     }
 14 |
AppKit.NSWindowController:23:25: note: property declared here
21 |     @available(macOS 10.10, *)
22 |     open var contentViewController: NSViewController? { get set }
23 |     @MainActor open var window: NSWindow? { get set }
   |                         `- note: property declared here
24 |     open var isWindowLoaded: Bool { get }
25 |     @available(swift, obsoleted: 3, renamed: "isWindowLoaded")
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:31:76: warning: main actor-isolated property 'windowIsOpen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 29 |
 30 |     private var isPopoverWindowVisible: Bool {
 31 |         return (popoverWindowController != nil) ? popoverWindowController!.windowIsOpen : false
    |                                                                            `- warning: main actor-isolated property 'windowIsOpen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 32 |     }
 33 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:11:29: note: property declared here
 9 |
10 | class PopoverWindowController: NSWindowController, NSWindowDelegate {
11 |     public private(set) var windowIsOpen: Bool = false
   |                             `- note: property declared here
12 |     public private(set) var isAnimating: Bool = false
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:76:35: warning: call to main actor-isolated initializer 'init(with:contentViewController:windowConfiguration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 72 |     ///
 73 |     /// By default it won't present any Popover until the user clicks on status bar item
 74 |     public func prepare(with image: NSImage, contentViewController viewController: NSViewController) {
    |                 `- note: add '@MainActor' to make instance method 'prepare(with:contentViewController:)' part of global actor 'MainActor'
 75 |         configureStatusBarButton(with: image)
 76 |         popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
    |                                   `- warning: call to main actor-isolated initializer 'init(with:contentViewController:windowConfiguration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 77 |         localEventMonitor?.start()
 78 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:17:5: note: calls to initializer 'init(with:contentViewController:windowConfiguration:)' from outside of its actor context are implicitly asynchronous
15 |     private let wConfig: PopoverConfiguration
16 |
17 |     init(with popover: Popover, contentViewController: NSViewController, windowConfiguration: PopoverConfiguration) {
   |     `- note: calls to initializer 'init(with:contentViewController:windowConfiguration:)' from outside of its actor context are implicitly asynchronous
18 |         self.popover = popover
19 |         self.wConfig = windowConfiguration
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:85:35: warning: call to main actor-isolated initializer 'init(with:contentViewController:windowConfiguration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 81 |     ///
 82 |     /// By default it won't present any Popover until the user clicks on status bar item
 83 |     public func prepare(with view: NSView, contentViewController viewController: NSViewController) {
    |                 `- note: add '@MainActor' to make instance method 'prepare(with:contentViewController:)' part of global actor 'MainActor'
 84 |         configureStatusBarButton(with: view)
 85 |         popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
    |                                   `- warning: call to main actor-isolated initializer 'init(with:contentViewController:windowConfiguration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 86 |         localEventMonitor?.start()
 87 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:17:5: note: calls to initializer 'init(with:contentViewController:windowConfiguration:)' from outside of its actor context are implicitly asynchronous
15 |     private let wConfig: PopoverConfiguration
16 |
17 |     init(with popover: Popover, contentViewController: NSViewController, windowConfiguration: PopoverConfiguration) {
   |     `- note: calls to initializer 'init(with:contentViewController:windowConfiguration:)' from outside of its actor context are implicitly asynchronous
18 |         self.popover = popover
19 |         self.wConfig = windowConfiguration
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:96:34: warning: call to main actor-isolated instance method 'show(withFocus:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 92 |
 93 |     /// Shows the Popover with no animation
 94 |     public func show(withFocus: Bool) {
    |                 `- note: add '@MainActor' to make instance method 'show(withFocus:)' part of global actor 'MainActor'
 95 |         guard !isPopoverWindowVisible else { return }
 96 |         popoverWindowController?.show(withFocus: withFocus)
    |                                  `- warning: call to main actor-isolated instance method 'show(withFocus:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 97 |         globalEventMonitor?.start()
 98 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:31:10: note: calls to instance method 'show(withFocus:)' from outside of its actor context are implicitly asynchronous
29 |     }
30 |
31 |     func show(withFocus: Bool) {
   |          `- note: calls to instance method 'show(withFocus:)' from outside of its actor context are implicitly asynchronous
32 |         guard !isAnimating else { return }
33 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:108:34: warning: call to main actor-isolated instance method 'dismiss()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
104 |
105 |     /// Dismisses the Popover with default animation. Animation behavior is `AnimationBehavior.utilityWindow`
106 |     public func dismiss() {
    |                 `- note: add '@MainActor' to make instance method 'dismiss()' part of global actor 'MainActor'
107 |         guard isPopoverWindowVisible else { return }
108 |         popoverWindowController?.dismiss()
    |                                  `- warning: call to main actor-isolated instance method 'dismiss()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
109 |         globalEventMonitor?.stop()
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:46:10: note: calls to instance method 'dismiss()' from outside of its actor context are implicitly asynchronous
44 |     }
45 |
46 |     func dismiss() {
   |          `- note: calls to instance method 'dismiss()' from outside of its actor context are implicitly asynchronous
47 |         guard !isAnimating else { return }
48 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:155:16: warning: main actor-isolated property 'image' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
148 |     }
149 |
150 |     private func configureStatusBarButton(with image: NSImage) {
    |                  `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
151 |         item = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
152 |         guard let button = item.button else { return }
153 |
154 |         image.isTemplate = true
155 |         button.image = image
    |                `- warning: main actor-isolated property 'image' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
156 |         setTargetAction(for: button)
157 |     }
AppKit.NSButton:56:25: note: mutation of this property is only permitted within the actor
54 |     @available(macOS 10.14, *)
55 |     @NSCopying open var contentTintColor: NSColor? { get set }
56 |     @MainActor open var image: NSImage? { get set }
   |                         `- note: mutation of this property is only permitted within the actor
57 |     open var alternateImage: NSImage? { get set }
58 |     open var imagePosition: NSControl.ImagePosition { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:160:71: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
157 |     }
158 |
159 |     private func configureStatusBarButton(with view: NSView) {
    |                  `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
160 |         item = NSStatusBar.system.statusItem(withLength: NSWidth(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
161 |         guard let button = item.button else { return }
162 |
AppKit.NSView:76:25: note: property declared here
 74 |     @available(swift, obsoleted: 3, renamed: "rotate(byDegrees:)")
 75 |     open func rotateByAngle(_ angle: CGFloat)
 76 |     @MainActor open var bounds: NSRect { get set }
    |                         `- note: property declared here
 77 |     open var isFlipped: Bool { get }
 78 |     @available(swift, obsoleted: 3, renamed: "isFlipped")
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:163:35: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
157 |     }
158 |
159 |     private func configureStatusBarButton(with view: NSView) {
    |                  `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
160 |         item = NSStatusBar.system.statusItem(withLength: NSWidth(view.bounds))
161 |         guard let button = item.button else { return }
162 |
163 |         let statusItemContainer = StatusItemContainerView()
    |                                   `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
164 |
165 |         setTargetAction(for: button)
AppKit.NSView:354:35: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
352 |     @available(macOS 10.14, *)
353 |     open func viewDidChangeEffectiveAppearance()
354 |     @MainActor public convenience init()
    |                                   `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
355 |     @available(macOS 10.5, *)
356 |     open var animations: [NSAnimatablePropertyKey : Any] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:166:16: warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
157 |     }
158 |
159 |     private func configureStatusBarButton(with view: NSView) {
    |                  `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
160 |         item = NSStatusBar.system.statusItem(withLength: NSWidth(view.bounds))
161 |         guard let button = item.button else { return }
    :
164 |
165 |         setTargetAction(for: button)
166 |         button.addSubview(statusItemContainer)
    |                `- warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
167 |
168 |         statusItemContainer.embed(view)
AppKit.NSView:29:26: note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
 27 |     @available(macOS 10.5, *)
 28 |     open func viewDidUnhide()
 29 |     @MainActor open func addSubview(_ view: NSView)
    |                          `- note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
 30 |     open func addSubview(_ view: NSView, positioned place: NSWindow.OrderingMode, relativeTo otherView: NSView?)
 31 |     open func sortSubviews(_ compare: @convention(c) (NSView, NSView, UnsafeMutableRawPointer?) -> ComparisonResult, context: UnsafeMutableRawPointer?)
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:168:29: warning: call to main actor-isolated instance method 'embed' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
157 |     }
158 |
159 |     private func configureStatusBarButton(with view: NSView) {
    |                  `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
160 |         item = NSStatusBar.system.statusItem(withLength: NSWidth(view.bounds))
161 |         guard let button = item.button else { return }
    :
166 |         button.addSubview(statusItemContainer)
167 |
168 |         statusItemContainer.embed(view)
    |                             `- warning: call to main actor-isolated instance method 'embed' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
169 |     }
170 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/StatusItemContainerView.swift:16:10: note: calls to instance method 'embed' from outside of its actor context are implicitly asynchronous
14 |     }
15 |
16 |     func embed(_ view: NSView) {
   |          `- note: calls to instance method 'embed' from outside of its actor context are implicitly asynchronous
17 |         addSubview(view)
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:176:16: warning: main actor-isolated property 'target' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
173 |     }
174 |
175 |     private func setTargetAction(for button: NSButton) {
    |                  `- note: add '@MainActor' to make instance method 'setTargetAction(for:)' part of global actor 'MainActor'
176 |         button.target = self
    |                `- warning: main actor-isolated property 'target' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
177 |         button.action = #selector(handleStatusItemButtonAction(_:))
178 |     }
AppKit.NSControl:4:30: note: mutation of this property is only permitted within the actor
 2 |     public init(frame frameRect: NSRect)
 3 |     public init?(coder: NSCoder)
 4 |     @MainActor weak open var target: AnyObject? { get set }
   |                              `- note: mutation of this property is only permitted within the actor
 5 |     open var action: Selector? { get set }
 6 |     open var tag: Int { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:177:16: warning: main actor-isolated property 'action' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
173 |     }
174 |
175 |     private func setTargetAction(for button: NSButton) {
    |                  `- note: add '@MainActor' to make instance method 'setTargetAction(for:)' part of global actor 'MainActor'
176 |         button.target = self
177 |         button.action = #selector(handleStatusItemButtonAction(_:))
    |                `- warning: main actor-isolated property 'action' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
178 |     }
179 |
AppKit.NSControl:5:14: note: mutation of this property is only permitted within the actor
 3 |     public init?(coder: NSCoder)
 4 |     @MainActor weak open var target: AnyObject? { get set }
 5 |     open var action: Selector? { get set }
   |              `- note: mutation of this property is only permitted within the actor
 6 |     open var tag: Int { get set }
 7 |     open var ignoresMultiClick: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:76:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 74 |     public func prepare(with image: NSImage, contentViewController viewController: NSViewController) {
 75 |         configureStatusBarButton(with: image)
 76 |         popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
    |                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending task-isolated 'self' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 77 |         localEventMonitor?.start()
 78 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:76:35: warning: sending 'self.wConfig' risks causing data races; this is an error in the Swift 6 language mode
 74 |     public func prepare(with image: NSImage, contentViewController viewController: NSViewController) {
 75 |         configureStatusBarButton(with: image)
 76 |         popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
    |                                   |- warning: sending 'self.wConfig' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending task-isolated 'self.wConfig' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 77 |         localEventMonitor?.start()
 78 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:85:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 83 |     public func prepare(with view: NSView, contentViewController viewController: NSViewController) {
 84 |         configureStatusBarButton(with: view)
 85 |         popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
    |                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending task-isolated 'self' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 86 |         localEventMonitor?.start()
 87 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:85:35: warning: sending 'self.wConfig' risks causing data races; this is an error in the Swift 6 language mode
 83 |     public func prepare(with view: NSView, contentViewController viewController: NSViewController) {
 84 |         configureStatusBarButton(with: view)
 85 |         popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
    |                                   |- warning: sending 'self.wConfig' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending task-isolated 'self.wConfig' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 86 |         localEventMonitor?.start()
 87 |     }
[6/12] Compiling Popover PopoverWindowBackgroundView.swift
[7/12] Emitting module Popover
[8/12] Compiling Popover MenuItem.swift
[9/12] Compiling Popover PopoverWindow.swift
[10/12] Compiling Popover Extensions.swift
[11/12] Compiling Popover EventMonitor.swift
[12/12] Compiling Popover PopoverConfiguration.swift
Build complete! (12.15s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Popover",
  "name" : "Popover",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.11"
    }
  ],
  "products" : [
    {
      "name" : "Popover",
      "targets" : [
        "Popover"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PopoverTests",
      "module_type" : "SwiftTarget",
      "name" : "PopoverTests",
      "path" : "Tests/PopoverTests",
      "sources" : [
        "PopoverTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Popover"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Popover",
      "module_type" : "SwiftTarget",
      "name" : "Popover",
      "path" : "Sources/Popover",
      "product_memberships" : [
        "Popover"
      ],
      "sources" : [
        "EventMonitor.swift",
        "Extensions.swift",
        "MenuItem.swift",
        "Popover.swift",
        "PopoverConfiguration.swift",
        "PopoverWindow.swift",
        "PopoverWindowBackgroundView.swift",
        "PopoverWindowController.swift",
        "StatusItemContainerView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.