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 DSFLabelledTextField, reference main (86644e), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 15:33:33 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

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dagronf/DSFLabelledTextField.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dagronf/DSFLabelledTextField
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 86644ef Update with new appearance manager
Cloned https://github.com/dagronf/DSFLabelledTextField.git
Revision (git rev-parse @):
86644ef6e61f02c08b25357f50b7627afe873f68
SUCCESS checkout https://github.com/dagronf/DSFLabelledTextField.git at main
Fetching https://github.com/dagronf/DSFAppearanceManager
[1/398] Fetching dsfappearancemanager
Fetched https://github.com/dagronf/DSFAppearanceManager from cache (1.17s)
Computing version for https://github.com/dagronf/DSFAppearanceManager
Computed https://github.com/dagronf/DSFAppearanceManager at 3.5.1 (0.65s)
Creating working copy for https://github.com/dagronf/DSFAppearanceManager
Working copy of https://github.com/dagronf/DSFAppearanceManager resolved at 3.5.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "dsflabelledtextfield",
      "name": "DSFLabelledTextField",
      "url": "https://github.com/dagronf/DSFLabelledTextField.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/DSFLabelledTextField",
      "dependencies": [
        {
          "identity": "dsfappearancemanager",
          "name": "DSFAppearanceManager",
          "url": "https://github.com/dagronf/DSFAppearanceManager",
          "version": "3.5.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/DSFAppearanceManager",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/dagronf/DSFLabelledTextField.git
[2/126] Fetching dsflabelledtextfield
Fetched https://github.com/dagronf/DSFLabelledTextField.git from cache (0.77s)
Fetching https://github.com/dagronf/DSFAppearanceManager from cache
Fetched https://github.com/dagronf/DSFAppearanceManager from cache (0.45s)
Computing version for https://github.com/dagronf/DSFAppearanceManager
Computed https://github.com/dagronf/DSFAppearanceManager at 3.5.1 (0.03s)
Creating working copy for https://github.com/dagronf/DSFAppearanceManager
Working copy of https://github.com/dagronf/DSFAppearanceManager resolved at 3.5.1
Creating working copy for https://github.com/dagronf/DSFLabelledTextField.git
Working copy of https://github.com/dagronf/DSFLabelledTextField.git resolved at main (86644ef)
warning: '.resolve-product-dependencies': dependency 'dsflabelledtextfield' is not used by any target
Found 1 product dependencies
  - DSFAppearanceManager
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/dagronf/DSFLabelledTextField.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
Building for debugging...
[0/7] Write sources
[2/7] Write swift-version--7754E27361AE5C74.txt
[4/19] Compiling DSFAppearanceManager AutoplayAnimatedImages.swift
[5/20] Compiling DSFAppearanceManager WeakBox.swift
[6/20] Compiling DSFAppearanceManager NSWindow+Appearance.swift
[7/20] Compiling DSFAppearanceManager WeakBag.swift
[8/20] Compiling DSFAppearanceManager DSFSimpleLock.swift
[9/20] Compiling DSFAppearanceManager NSAppearance+extensions.swift
[10/20] Compiling DSFAppearanceManager DSFAppearanceManager+Listeners.swift
[11/20] Compiling DSFAppearanceManager DSFDebounce.swift
[12/20] Emitting module DSFAppearanceManager
[13/20] Compiling DSFAppearanceManager DSFAppearanceCache.swift
[14/20] Compiling DSFAppearanceManager DSFAppearanceManager+ChangeDetector.swift
[15/20] Compiling DSFAppearanceManager DSFAppearanceManager.swift
[16/20] Compiling DSFAppearanceManager NSView+Appearance.swift
[17/24] Compiling DSFLabelledTextField NSGraphicsContext+extensions.swift
[18/24] Emitting module DSFLabelledTextField
[19/24] Compiling DSFLabelledTextField DSFLabelledTextFieldGroup.swift
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextFieldGroup.swift:54:15: warning: main actor-isolated property 'group' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 51 | 	///
 52 | 	/// Group members are held weakly, so if one of the fields disappears the group will automatically update
 53 | 	@discardableResult public func add(_ field: DSFLabelledTextField) -> Bool {
    |                                 `- note: add '@MainActor' to make instance method 'add' part of global actor 'MainActor'
 54 | 		guard field.group == nil else {
    |               `- warning: main actor-isolated property 'group' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 55 | 			// field is already a member of a group.
 56 | 			return false
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextField.swift:123:20: note: property declared here
121 | 	// The group IF this text field is a member of a group, otherwise nil.
122 | 	// Held weakly so that if the group goes away label can still operate
123 | 	internal weak var group: DSFLabelledTextFieldGroup?
    |                    `- note: property declared here
124 |
125 | 	// Sync the label widths within the group IF this label is a group member
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextFieldGroup.swift:59:9: warning: main actor-isolated property 'group' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 51 | 	///
 52 | 	/// Group members are held weakly, so if one of the fields disappears the group will automatically update
 53 | 	@discardableResult public func add(_ field: DSFLabelledTextField) -> Bool {
    |                                 `- note: add '@MainActor' to make instance method 'add' part of global actor 'MainActor'
 54 | 		guard field.group == nil else {
 55 | 			// field is already a member of a group.
    :
 57 | 		}
 58 | 		self.grouping.add(field)
 59 | 		field.group = self
    |         `- warning: main actor-isolated property 'group' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 60 | 		return true
 61 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextField.swift:123:20: note: mutation of this property is only permitted within the actor
121 | 	// The group IF this text field is a member of a group, otherwise nil.
122 | 	// Held weakly so that if the group goes away label can still operate
123 | 	internal weak var group: DSFLabelledTextFieldGroup?
    |                    `- note: mutation of this property is only permitted within the actor
124 |
125 | 	// Sync the label widths within the group IF this label is a group member
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextFieldGroup.swift:72:28: warning: main actor-isolated property 'group' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 70 | 	@discardableResult public func add(_ fields: [DSFLabelledTextField]) -> Bool {
 71 | 		// Check ALL of the fields before adding, if any are already a member of a group then the entire fails.
 72 | 		guard fields.filter({ $0.group != nil }).count == 0 else {
    |                            `- warning: main actor-isolated property 'group' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 73 | 			// One of more of the fields already are a member of a group
 74 | 			return false
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextField.swift:123:20: note: property declared here
121 | 	// The group IF this text field is a member of a group, otherwise nil.
122 | 	// Held weakly so that if the group goes away label can still operate
123 | 	internal weak var group: DSFLabelledTextFieldGroup?
    |                    `- note: property declared here
124 |
125 | 	// Sync the label widths within the group IF this label is a group member
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextFieldGroup.swift:96:12: warning: main actor-isolated property 'group' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 93 | 	/// - Parameter field: the field to remove
 94 | 	/// - Returns true if the field was removed, false if the field is not a member of this group
 95 | 	@discardableResult public func remove(_ field: DSFLabelledTextField) -> Bool {
    |                                 `- note: add '@MainActor' to make instance method 'remove' part of global actor 'MainActor'
 96 | 		if field.group === self {
    |            `- warning: main actor-isolated property 'group' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 97 | 			field.group = nil
 98 | 			self.grouping.remove(field)
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextField.swift:123:20: note: property declared here
121 | 	// The group IF this text field is a member of a group, otherwise nil.
122 | 	// Held weakly so that if the group goes away label can still operate
123 | 	internal weak var group: DSFLabelledTextFieldGroup?
    |                    `- note: property declared here
124 |
125 | 	// Sync the label widths within the group IF this label is a group member
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextFieldGroup.swift:97:10: warning: main actor-isolated property 'group' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 93 | 	/// - Parameter field: the field to remove
 94 | 	/// - Returns true if the field was removed, false if the field is not a member of this group
 95 | 	@discardableResult public func remove(_ field: DSFLabelledTextField) -> Bool {
    |                                 `- note: add '@MainActor' to make instance method 'remove' part of global actor 'MainActor'
 96 | 		if field.group === self {
 97 | 			field.group = nil
    |          `- warning: main actor-isolated property 'group' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 98 | 			self.grouping.remove(field)
 99 | 			return true
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextField.swift:123:20: note: mutation of this property is only permitted within the actor
121 | 	// The group IF this text field is a member of a group, otherwise nil.
122 | 	// Held weakly so that if the group goes away label can still operate
123 | 	internal weak var group: DSFLabelledTextFieldGroup?
    |                    `- note: mutation of this property is only permitted within the actor
124 |
125 | 	// Sync the label widths within the group IF this label is a group member
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextFieldGroup.swift:109:45: warning: main actor-isolated property 'labelTextSize' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
107 | 		self.grouping.objectEnumerator().forEach { f in
108 | 			guard let field = f as? DSFLabelledTextField else { return }
109 | 			combinedWidth = max(combinedWidth, field.labelTextSize.width)
    |                                             `- warning: main actor-isolated property 'labelTextSize' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
110 | 		}
111 |
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextField.swift:276:6: note: property declared here
274 |
275 | 	/// Returns the size of the text within the label regardless of any width constraints set.
276 | 	var labelTextSize: CGSize {
    |      `- note: property declared here
277 | 		return self.textLabel.fittingSize
278 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextFieldGroup.swift:114:10: warning: main actor-isolated property 'labelWidth' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
112 | 		self.grouping.objectEnumerator().forEach { f in
113 | 			guard let field = f as? DSFLabelledTextField else { return }
114 | 			field.labelWidth = combinedWidth + self.padding
    |          `- warning: main actor-isolated property 'labelWidth' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
115 | 		}
116 |
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextField.swift:80:28: note: mutation of this property is only permitted within the actor
 78 |
 79 | 	/// The width of the label section.  If -1, fits to the size of the text within the label
 80 | 	@IBInspectable public var labelWidth: CGFloat = -1 {
    |                            `- note: mutation of this property is only permitted within the actor
 81 | 		didSet {
 82 | 			self.widthConstraint.isActive = (self.labelWidth != -1)
[20/24] Compiling DSFLabelledTextField DSFLabelledTextField.swift
/Users/admin/builder/spi-builder-workspace/Sources/DSFLabelledTextField/DSFLabelledTextField.swift:268:9: warning: call to main actor-isolated instance method 'syncLabelVisibility()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
244 |
245 | public extension DSFLabelledTextField {
246 | 	private func syncLabelVisibility() {
    |               `- note: calls to instance method 'syncLabelVisibility()' from outside of its actor context are implicitly asynchronous
247 | 		self.textLabel.alphaValue = self.isEnabled ? 1.0 : alphaValueForDisabled
248 | 		self.needsDisplay = true
    :
266 | 	override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
267 | 		if keyPath == "enabled" {
268 | 			self.syncLabelVisibility()
    |         `- warning: call to main actor-isolated instance method 'syncLabelVisibility()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
269 | 		}
270 | 		else {
[20/24] Write Objects.LinkFileList
[22/24] Archiving libDSFLabelledTextField.a
[23/24] Linking libDSFLabelledTextField-Dynamic.dylib
Build complete! (18.39s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "dsfappearancemanager",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.0.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dagronf/DSFAppearanceManager"
    }
  ],
  "manifest_display_name" : "DSFLabelledTextField",
  "name" : "DSFLabelledTextField",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.11"
    }
  ],
  "products" : [
    {
      "name" : "DSFLabelledTextField",
      "targets" : [
        "DSFLabelledTextField"
      ],
      "type" : {
        "library" : [
          "static"
        ]
      }
    },
    {
      "name" : "DSFLabelledTextField-Dynamic",
      "targets" : [
        "DSFLabelledTextField"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "DSFLabelledTextFieldTests",
      "module_type" : "SwiftTarget",
      "name" : "DSFLabelledTextFieldTests",
      "path" : "Tests/DSFLabelledTextFieldTests",
      "sources" : [
        "DSFLabelledTextFieldTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "DSFLabelledTextField"
      ],
      "type" : "test"
    },
    {
      "c99name" : "DSFLabelledTextField",
      "module_type" : "SwiftTarget",
      "name" : "DSFLabelledTextField",
      "path" : "Sources/DSFLabelledTextField",
      "product_dependencies" : [
        "DSFAppearanceManager"
      ],
      "product_memberships" : [
        "DSFLabelledTextField",
        "DSFLabelledTextField-Dynamic"
      ],
      "sources" : [
        "DSFLabelledTextField.swift",
        "DSFLabelledTextFieldGroup.swift",
        "private/NSGraphicsContext+extensions.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.