This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.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
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/iSapozhnik/Popover.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/12] Compiling Popover PopoverWindowController.swift
[4/12] Compiling Popover StatusItemContainerView.swift
[5/12] Compiling Popover PopoverWindowBackgroundView.swift
[6/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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 |     }
[7/12] Compiling Popover PopoverConfiguration.swift
[8/12] Compiling Popover PopoverWindow.swift
[9/12] Compiling Popover Extensions.swift
[10/12] Compiling Popover MenuItem.swift
[11/12] Emitting module Popover
[12/12] Compiling Popover EventMonitor.swift
Build complete! (24.54s)
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.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.