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

Failed to build EasyNodeEditor, reference v0.3.0 (82c0f1), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 06:48:06 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/yukiny0811/easy-node-editor.git
Reference: v0.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/yukiny0811/easy-node-editor
 * tag               v0.3.0     -> FETCH_HEAD
HEAD is now at 82c0f17 Update README.md
Cloned https://github.com/yukiny0811/easy-node-editor.git
Revision (git rev-parse @):
82c0f17e2b0c9ed1a6cb0a134d1754a3ba657a46
SUCCESS checkout https://github.com/yukiny0811/easy-node-editor.git at v0.3.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": "easy-node-editor",
      "name": "EasyNodeEditor",
      "url": "https://github.com/yukiny0811/easy-node-editor.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/easy-node-editor",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/yukiny0811/easy-node-editor.git
[1/399] Fetching easy-node-editor
Fetched https://github.com/yukiny0811/easy-node-editor.git from cache (0.69s)
Creating working copy for https://github.com/yukiny0811/easy-node-editor.git
Working copy of https://github.com/yukiny0811/easy-node-editor.git resolved at v0.3.0 (82c0f17)
warning: '.resolve-product-dependencies': dependency 'easy-node-editor' 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/yukiny0811/easy-node-editor.git
https://github.com/yukiny0811/easy-node-editor.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "EasyNodeEditor",
  "name" : "EasyNodeEditor",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "EasyNodeEditor",
      "targets" : [
        "EasyNodeEditor"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EasyNodeEditorTests",
      "module_type" : "SwiftTarget",
      "name" : "EasyNodeEditorTests",
      "path" : "Tests/EasyNodeEditorTests",
      "sources" : [
        "EasyNodeEditorTests.swift"
      ],
      "target_dependencies" : [
        "EasyNodeEditor"
      ],
      "type" : "test"
    },
    {
      "c99name" : "EasyNodeEditor",
      "module_type" : "SwiftTarget",
      "name" : "EasyNodeEditor",
      "path" : "Sources/EasyNodeEditor",
      "product_memberships" : [
        "EasyNodeEditor"
      ],
      "sources" : [
        "Config/EditorConfig.swift",
        "Core/EasyNodeManager.swift",
        "Core/NodeModelBase.swift",
        "EasyNodeEditor.swift",
        "Extensions/CGPoint+.swift",
        "Extensions/CGSize+.swift",
        "Extensions/String+.swift",
        "IONode/InputNode.swift",
        "IONode/OutputNode.swift",
        "NodeModels/TestModel.swift",
        "PropertyWrappers/Input.swift",
        "PropertyWrappers/Middle.swift",
        "PropertyWrappers/Output.swift",
        "Representables/NSTouchEventView.swift",
        "Representables/TouchEventView.swift",
        "ViewModules/Line.swift",
        "ViewModules/Node.swift",
        "ViewModules/NodeMenuContent.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
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/20] Compiling EasyNodeEditor Output.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Representables/NSTouchEventView.swift:52:14: warning: main actor-isolated property 'trackingAreas' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
50 |
51 |     deinit {
52 |         self.trackingAreas.forEach { ta in
   |              `- warning: main actor-isolated property 'trackingAreas' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
53 |             self.removeTrackingArea(ta)
54 |         }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:582:55: note: property declared here
580 | - (void)addTrackingArea:(NSTrackingArea *)trackingArea API_AVAILABLE(macos(10.5));
581 | - (void)removeTrackingArea:(NSTrackingArea *)trackingArea API_AVAILABLE(macos(10.5));
582 | @property (readonly, copy) NSArray<NSTrackingArea *> *trackingAreas API_AVAILABLE(macos(10.5));
    |                                                       `- note: property declared here
583 |
584 | /* updateTrackingAreas should be overridden to remove out of date tracking areas and add recomputed tracking areas, and should call super.
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Representables/NSTouchEventView.swift:53:18: warning: call to main actor-isolated instance method 'removeTrackingArea' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
51 |     deinit {
52 |         self.trackingAreas.forEach { ta in
53 |             self.removeTrackingArea(ta)
   |                  `- warning: call to main actor-isolated instance method 'removeTrackingArea' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
54 |         }
55 |     }
AppKit.NSView.removeTrackingArea:3:24: note: calls to instance method 'removeTrackingArea' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @available(macOS 10.5, *)
3 |   @MainActor open func removeTrackingArea(_ trackingArea: NSTrackingArea)}
  |                        |- note: calls to instance method 'removeTrackingArea' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Representables/NSTouchEventView.swift:53:18: warning: sending 'ta' risks causing data races; this is an error in the Swift 6 language mode
51 |     deinit {
52 |         self.trackingAreas.forEach { ta in
53 |             self.removeTrackingArea(ta)
   |                  |- warning: sending 'ta' risks causing data races; this is an error in the Swift 6 language mode
   |                  `- note: sending task-isolated 'ta' to main actor-isolated instance method 'removeTrackingArea' risks causing data races between main actor-isolated and task-isolated uses
54 |         }
55 |     }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/20] Compiling EasyNodeEditor NSTouchEventView.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Representables/NSTouchEventView.swift:52:14: warning: main actor-isolated property 'trackingAreas' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
50 |
51 |     deinit {
52 |         self.trackingAreas.forEach { ta in
   |              `- warning: main actor-isolated property 'trackingAreas' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
53 |             self.removeTrackingArea(ta)
54 |         }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:582:55: note: property declared here
580 | - (void)addTrackingArea:(NSTrackingArea *)trackingArea API_AVAILABLE(macos(10.5));
581 | - (void)removeTrackingArea:(NSTrackingArea *)trackingArea API_AVAILABLE(macos(10.5));
582 | @property (readonly, copy) NSArray<NSTrackingArea *> *trackingAreas API_AVAILABLE(macos(10.5));
    |                                                       `- note: property declared here
583 |
584 | /* updateTrackingAreas should be overridden to remove out of date tracking areas and add recomputed tracking areas, and should call super.
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Representables/NSTouchEventView.swift:53:18: warning: call to main actor-isolated instance method 'removeTrackingArea' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
51 |     deinit {
52 |         self.trackingAreas.forEach { ta in
53 |             self.removeTrackingArea(ta)
   |                  `- warning: call to main actor-isolated instance method 'removeTrackingArea' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
54 |         }
55 |     }
AppKit.NSView.removeTrackingArea:3:24: note: calls to instance method 'removeTrackingArea' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @available(macOS 10.5, *)
3 |   @MainActor open func removeTrackingArea(_ trackingArea: NSTrackingArea)}
  |                        |- note: calls to instance method 'removeTrackingArea' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Representables/NSTouchEventView.swift:53:18: warning: sending 'ta' risks causing data races; this is an error in the Swift 6 language mode
51 |     deinit {
52 |         self.trackingAreas.forEach { ta in
53 |             self.removeTrackingArea(ta)
   |                  |- warning: sending 'ta' risks causing data races; this is an error in the Swift 6 language mode
   |                  `- note: sending task-isolated 'ta' to main actor-isolated instance method 'removeTrackingArea' risks causing data races between main actor-isolated and task-isolated uses
54 |         }
55 |     }
[5/20] Compiling EasyNodeEditor Node.swift
[6/20] Compiling EasyNodeEditor OutputNode.swift
[7/20] Compiling EasyNodeEditor TestModel.swift
[8/20] Compiling EasyNodeEditor String+.swift
[9/20] Compiling EasyNodeEditor InputNode.swift
[10/20] Compiling EasyNodeEditor CGPoint+.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
   | `- note: The missing import of module 'CoreGraphics' will be added implicitly
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
[11/20] Compiling EasyNodeEditor CGSize+.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
   | `- note: The missing import of module 'CoreGraphics' will be added implicitly
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
[12/20] Compiling EasyNodeEditor EditorConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Config/EditorConfig.swift:11:23: warning: static property 'defaultConfig' is not concurrency-safe because non-'Sendable' type 'EditorConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | public struct EditorConfig {
   |               `- note: consider making struct 'EditorConfig' conform to the 'Sendable' protocol
11 |     public static let defaultConfig = EditorConfig()
   |                       |- warning: static property 'defaultConfig' is not concurrency-safe because non-'Sendable' type 'EditorConfig' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'defaultConfig' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     public init(editorBackgroundColor: Color = Color(red: 0.12, green: 0.12, blue: 0.12),
13 |                 nodeBackgroundColor: Color = Color(red: 0.72, green: 0.72, blue: 0.72),
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/EasyNodeManager.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EasyNodeManager' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | public class EasyNodeManager: ObservableObject {
   |              `- note: class 'EasyNodeManager' does not conform to the 'Sendable' protocol
11 |     public static let shared = EasyNodeManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EasyNodeManager' 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 |     @Published var nodeModels: [String: NodeModelBase] = [:]
13 |     @Published var selectedInputID: (nodeID: String, inputName: String)?
[13/20] Compiling EasyNodeEditor EasyNodeManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Config/EditorConfig.swift:11:23: warning: static property 'defaultConfig' is not concurrency-safe because non-'Sendable' type 'EditorConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | public struct EditorConfig {
   |               `- note: consider making struct 'EditorConfig' conform to the 'Sendable' protocol
11 |     public static let defaultConfig = EditorConfig()
   |                       |- warning: static property 'defaultConfig' is not concurrency-safe because non-'Sendable' type 'EditorConfig' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'defaultConfig' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     public init(editorBackgroundColor: Color = Color(red: 0.12, green: 0.12, blue: 0.12),
13 |                 nodeBackgroundColor: Color = Color(red: 0.72, green: 0.72, blue: 0.72),
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/EasyNodeManager.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EasyNodeManager' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | public class EasyNodeManager: ObservableObject {
   |              `- note: class 'EasyNodeManager' does not conform to the 'Sendable' protocol
11 |     public static let shared = EasyNodeManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EasyNodeManager' 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 |     @Published var nodeModels: [String: NodeModelBase] = [:]
13 |     @Published var selectedInputID: (nodeID: String, inputName: String)?
[14/20] Compiling EasyNodeEditor NodeModelBase.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:48:41: warning: non-constant range: argument must be an integer literal
46 |         return AnyView(
47 |             VStack(alignment: .center, spacing: 0) {
48 |                 ForEach (0..<inputArray.count) { i in
   |                                         `- warning: non-constant range: argument must be an integer literal
49 |                     InputNode(idString: (nodeID: self.id, inputName: inputArray[i]), editorConfig: self.editorConfig)
50 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:53:42: warning: non-constant range: argument must be an integer literal
51 |                 Text(self.displayTitle())
52 |                 wrapMiddleContent()
53 |                 ForEach (0..<outputArray.count) { o in
   |                                          `- warning: non-constant range: argument must be an integer literal
54 |                     OutputNode(idString: (nodeID: self.id, outputName: outputArray[o]), editorConfig: self.editorConfig)
55 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:49:21: warning: call to main actor-isolated initializer 'init(idString:editorConfig:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
47 |             VStack(alignment: .center, spacing: 0) {
48 |                 ForEach (0..<inputArray.count) { i in
49 |                     InputNode(idString: (nodeID: self.id, inputName: inputArray[i]), editorConfig: self.editorConfig)
   |                     `- warning: call to main actor-isolated initializer 'init(idString:editorConfig:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
50 |                 }
51 |                 Text(self.displayTitle())
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/IONode/InputNode.swift:10:8: note: calls to initializer 'init(idString:editorConfig:)' from outside of its actor context are implicitly asynchronous
 8 | import SwiftUI
 9 |
10 | struct InputNode: View {
   |        |- note: calls to initializer 'init(idString:editorConfig:)' from outside of its actor context are implicitly asynchronous
   |        `- note: main actor isolation inferred from conformance to protocol 'View'
11 |     let idString: (nodeID: String, inputName: String)
12 |     let editorConfig: EditorConfig
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:54:21: warning: call to main actor-isolated initializer 'init(idString:editorConfig:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 |                 wrapMiddleContent()
53 |                 ForEach (0..<outputArray.count) { o in
54 |                     OutputNode(idString: (nodeID: self.id, outputName: outputArray[o]), editorConfig: self.editorConfig)
   |                     `- warning: call to main actor-isolated initializer 'init(idString:editorConfig:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
55 |                 }
56 |             }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/IONode/OutputNode.swift:10:8: note: calls to initializer 'init(idString:editorConfig:)' from outside of its actor context are implicitly asynchronous
 8 | import SwiftUI
 9 |
10 | struct OutputNode: View {
   |        |- note: calls to initializer 'init(idString:editorConfig:)' from outside of its actor context are implicitly asynchronous
   |        `- note: main actor isolation inferred from conformance to protocol 'View'
11 |     let idString: (nodeID: String, outputName: String)
12 |     let editorConfig: EditorConfig
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:71:17: warning: capture of 'self' with non-sendable type 'NodeModelBase' in a '@Sendable' closure
 8 | import SwiftUI
 9 |
10 | open class NodeModelBase: NSObject, Identifiable, ObservableObject {
   |            `- note: class 'NodeModelBase' does not conform to the 'Sendable' protocol
11 |     public required init(editorConfig: EditorConfig) {
12 |         self.editorConfig = editorConfig
   :
69 |         return Binding(
70 |             get: {
71 |                 self.value(forKeyPath: NSExpression(forKeyPath: v).keyPath) as! T
   |                 `- warning: capture of 'self' with non-sendable type 'NodeModelBase' in a '@Sendable' closure
72 |             },
73 |             set: {
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:71:65: warning: capture of 'v' with non-sendable type 'KeyPath<W, T>' in a '@Sendable' closure
69 |         return Binding(
70 |             get: {
71 |                 self.value(forKeyPath: NSExpression(forKeyPath: v).keyPath) as! T
   |                                                                 `- warning: capture of 'v' with non-sendable type 'KeyPath<W, T>' in a '@Sendable' closure
72 |             },
73 |             set: {
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:74:17: warning: capture of 'self' with non-sendable type 'NodeModelBase' in a '@Sendable' closure
 8 | import SwiftUI
 9 |
10 | open class NodeModelBase: NSObject, Identifiable, ObservableObject {
   |            `- note: class 'NodeModelBase' does not conform to the 'Sendable' protocol
11 |     public required init(editorConfig: EditorConfig) {
12 |         self.editorConfig = editorConfig
   :
72 |             },
73 |             set: {
74 |                 self.setValue($0, forKeyPath: NSExpression(forKeyPath: v).keyPath)
   |                 `- warning: capture of 'self' with non-sendable type 'NodeModelBase' in a '@Sendable' closure
75 |             }
76 |         )
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:74:72: warning: capture of 'v' with non-sendable type 'KeyPath<W, T>' in a '@Sendable' closure
72 |             },
73 |             set: {
74 |                 self.setValue($0, forKeyPath: NSExpression(forKeyPath: v).keyPath)
   |                                                                        `- warning: capture of 'v' with non-sendable type 'KeyPath<W, T>' in a '@Sendable' closure
75 |             }
76 |         )
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:101:5: warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
 99 |
100 | fileprivate extension NSTableView {
101 |     open override func viewDidMoveToWindow() {
    |     `- warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
102 |         super.viewDidMoveToWindow()
103 |         backgroundColor = NSColor.clear
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:56:64: warning: non-constant range: argument must be an integer literal
 54 |                         }
 55 |                 )
 56 |             ForEach(0..<Array(Mirror(reflecting: nm).children).count) { i in
    |                                                                `- warning: non-constant range: argument must be an integer literal
 57 |                 Line(nm: nm, i: i, editorConfig: editorConfig)
 58 |                     .frame(width: editorConfig.editorWidth, height: editorConfig.editorHeight, alignment: .trailing)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:83:47: warning: non-constant range: argument must be an integer literal
 81 |                     }
 82 |                     List {
 83 |                         ForEach(0..<nodeTypes.count) { i in
    |                                               `- warning: non-constant range: argument must be an integer literal
 84 |                             NodeMenuContent(nodeType: nodeTypes[i], editorConfig: editorConfig)
 85 |                                 .padding(EdgeInsets(top: 0, leading: 10, bottom: 0, trailing: 10))
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:49:21: warning: sending 'self.editorConfig' risks causing data races; this is an error in the Swift 6 language mode
47 |             VStack(alignment: .center, spacing: 0) {
48 |                 ForEach (0..<inputArray.count) { i in
49 |                     InputNode(idString: (nodeID: self.id, inputName: inputArray[i]), editorConfig: self.editorConfig)
   |                     |- warning: sending 'self.editorConfig' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: sending task-isolated 'self.editorConfig' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
50 |                 }
51 |                 Text(self.displayTitle())
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:54:21: warning: sending 'self.editorConfig' risks causing data races; this is an error in the Swift 6 language mode
52 |                 wrapMiddleContent()
53 |                 ForEach (0..<outputArray.count) { o in
54 |                     OutputNode(idString: (nodeID: self.id, outputName: outputArray[o]), editorConfig: self.editorConfig)
   |                     |- warning: sending 'self.editorConfig' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: sending task-isolated 'self.editorConfig' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
55 |                 }
56 |             }
[15/20] Compiling EasyNodeEditor EasyNodeEditor.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:48:41: warning: non-constant range: argument must be an integer literal
46 |         return AnyView(
47 |             VStack(alignment: .center, spacing: 0) {
48 |                 ForEach (0..<inputArray.count) { i in
   |                                         `- warning: non-constant range: argument must be an integer literal
49 |                     InputNode(idString: (nodeID: self.id, inputName: inputArray[i]), editorConfig: self.editorConfig)
50 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:53:42: warning: non-constant range: argument must be an integer literal
51 |                 Text(self.displayTitle())
52 |                 wrapMiddleContent()
53 |                 ForEach (0..<outputArray.count) { o in
   |                                          `- warning: non-constant range: argument must be an integer literal
54 |                     OutputNode(idString: (nodeID: self.id, outputName: outputArray[o]), editorConfig: self.editorConfig)
55 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:49:21: warning: call to main actor-isolated initializer 'init(idString:editorConfig:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
47 |             VStack(alignment: .center, spacing: 0) {
48 |                 ForEach (0..<inputArray.count) { i in
49 |                     InputNode(idString: (nodeID: self.id, inputName: inputArray[i]), editorConfig: self.editorConfig)
   |                     `- warning: call to main actor-isolated initializer 'init(idString:editorConfig:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
50 |                 }
51 |                 Text(self.displayTitle())
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/IONode/InputNode.swift:10:8: note: calls to initializer 'init(idString:editorConfig:)' from outside of its actor context are implicitly asynchronous
 8 | import SwiftUI
 9 |
10 | struct InputNode: View {
   |        |- note: calls to initializer 'init(idString:editorConfig:)' from outside of its actor context are implicitly asynchronous
   |        `- note: main actor isolation inferred from conformance to protocol 'View'
11 |     let idString: (nodeID: String, inputName: String)
12 |     let editorConfig: EditorConfig
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:54:21: warning: call to main actor-isolated initializer 'init(idString:editorConfig:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 |                 wrapMiddleContent()
53 |                 ForEach (0..<outputArray.count) { o in
54 |                     OutputNode(idString: (nodeID: self.id, outputName: outputArray[o]), editorConfig: self.editorConfig)
   |                     `- warning: call to main actor-isolated initializer 'init(idString:editorConfig:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
55 |                 }
56 |             }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/IONode/OutputNode.swift:10:8: note: calls to initializer 'init(idString:editorConfig:)' from outside of its actor context are implicitly asynchronous
 8 | import SwiftUI
 9 |
10 | struct OutputNode: View {
   |        |- note: calls to initializer 'init(idString:editorConfig:)' from outside of its actor context are implicitly asynchronous
   |        `- note: main actor isolation inferred from conformance to protocol 'View'
11 |     let idString: (nodeID: String, outputName: String)
12 |     let editorConfig: EditorConfig
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:71:17: warning: capture of 'self' with non-sendable type 'NodeModelBase' in a '@Sendable' closure
 8 | import SwiftUI
 9 |
10 | open class NodeModelBase: NSObject, Identifiable, ObservableObject {
   |            `- note: class 'NodeModelBase' does not conform to the 'Sendable' protocol
11 |     public required init(editorConfig: EditorConfig) {
12 |         self.editorConfig = editorConfig
   :
69 |         return Binding(
70 |             get: {
71 |                 self.value(forKeyPath: NSExpression(forKeyPath: v).keyPath) as! T
   |                 `- warning: capture of 'self' with non-sendable type 'NodeModelBase' in a '@Sendable' closure
72 |             },
73 |             set: {
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:71:65: warning: capture of 'v' with non-sendable type 'KeyPath<W, T>' in a '@Sendable' closure
69 |         return Binding(
70 |             get: {
71 |                 self.value(forKeyPath: NSExpression(forKeyPath: v).keyPath) as! T
   |                                                                 `- warning: capture of 'v' with non-sendable type 'KeyPath<W, T>' in a '@Sendable' closure
72 |             },
73 |             set: {
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:74:17: warning: capture of 'self' with non-sendable type 'NodeModelBase' in a '@Sendable' closure
 8 | import SwiftUI
 9 |
10 | open class NodeModelBase: NSObject, Identifiable, ObservableObject {
   |            `- note: class 'NodeModelBase' does not conform to the 'Sendable' protocol
11 |     public required init(editorConfig: EditorConfig) {
12 |         self.editorConfig = editorConfig
   :
72 |             },
73 |             set: {
74 |                 self.setValue($0, forKeyPath: NSExpression(forKeyPath: v).keyPath)
   |                 `- warning: capture of 'self' with non-sendable type 'NodeModelBase' in a '@Sendable' closure
75 |             }
76 |         )
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:74:72: warning: capture of 'v' with non-sendable type 'KeyPath<W, T>' in a '@Sendable' closure
72 |             },
73 |             set: {
74 |                 self.setValue($0, forKeyPath: NSExpression(forKeyPath: v).keyPath)
   |                                                                        `- warning: capture of 'v' with non-sendable type 'KeyPath<W, T>' in a '@Sendable' closure
75 |             }
76 |         )
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:101:5: warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
 99 |
100 | fileprivate extension NSTableView {
101 |     open override func viewDidMoveToWindow() {
    |     `- warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
102 |         super.viewDidMoveToWindow()
103 |         backgroundColor = NSColor.clear
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:56:64: warning: non-constant range: argument must be an integer literal
 54 |                         }
 55 |                 )
 56 |             ForEach(0..<Array(Mirror(reflecting: nm).children).count) { i in
    |                                                                `- warning: non-constant range: argument must be an integer literal
 57 |                 Line(nm: nm, i: i, editorConfig: editorConfig)
 58 |                     .frame(width: editorConfig.editorWidth, height: editorConfig.editorHeight, alignment: .trailing)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:83:47: warning: non-constant range: argument must be an integer literal
 81 |                     }
 82 |                     List {
 83 |                         ForEach(0..<nodeTypes.count) { i in
    |                                               `- warning: non-constant range: argument must be an integer literal
 84 |                             NodeMenuContent(nodeType: nodeTypes[i], editorConfig: editorConfig)
 85 |                                 .padding(EdgeInsets(top: 0, leading: 10, bottom: 0, trailing: 10))
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:49:21: warning: sending 'self.editorConfig' risks causing data races; this is an error in the Swift 6 language mode
47 |             VStack(alignment: .center, spacing: 0) {
48 |                 ForEach (0..<inputArray.count) { i in
49 |                     InputNode(idString: (nodeID: self.id, inputName: inputArray[i]), editorConfig: self.editorConfig)
   |                     |- warning: sending 'self.editorConfig' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: sending task-isolated 'self.editorConfig' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
50 |                 }
51 |                 Text(self.displayTitle())
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:54:21: warning: sending 'self.editorConfig' risks causing data races; this is an error in the Swift 6 language mode
52 |                 wrapMiddleContent()
53 |                 ForEach (0..<outputArray.count) { o in
54 |                     OutputNode(idString: (nodeID: self.id, outputName: outputArray[o]), editorConfig: self.editorConfig)
   |                     |- warning: sending 'self.editorConfig' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: sending task-isolated 'self.editorConfig' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
55 |                 }
56 |             }
[16/20] Compiling EasyNodeEditor Input.swift
[17/20] Compiling EasyNodeEditor Middle.swift
[18/20] Emitting module EasyNodeEditor
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Config/EditorConfig.swift:11:23: warning: static property 'defaultConfig' is not concurrency-safe because non-'Sendable' type 'EditorConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | public struct EditorConfig {
   |               `- note: consider making struct 'EditorConfig' conform to the 'Sendable' protocol
11 |     public static let defaultConfig = EditorConfig()
   |                       |- warning: static property 'defaultConfig' is not concurrency-safe because non-'Sendable' type 'EditorConfig' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'defaultConfig' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     public init(editorBackgroundColor: Color = Color(red: 0.12, green: 0.12, blue: 0.12),
13 |                 nodeBackgroundColor: Color = Color(red: 0.72, green: 0.72, blue: 0.72),
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/EasyNodeManager.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EasyNodeManager' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | public class EasyNodeManager: ObservableObject {
   |              `- note: class 'EasyNodeManager' does not conform to the 'Sendable' protocol
11 |     public static let shared = EasyNodeManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EasyNodeManager' 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 |     @Published var nodeModels: [String: NodeModelBase] = [:]
13 |     @Published var selectedInputID: (nodeID: String, inputName: String)?
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:101:5: warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
 99 |
100 | fileprivate extension NSTableView {
101 |     open override func viewDidMoveToWindow() {
    |     `- warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
102 |         super.viewDidMoveToWindow()
103 |         backgroundColor = NSColor.clear
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
   | `- note: The missing import of module 'CoreGraphics' will be added implicitly
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/Line.swift:15:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct Line: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nm: NodeModelBase
13 |     let i: Int
14 |     let editorConfig: EditorConfig
15 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
16 |     var body: some View {
17 |         VStack(alignment: .leading, spacing: 0) { () -> AnyView in
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/NodeMenuContent.swift:14:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct NodeMenuContent: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nodeType: NodeModelBase.Type
13 |     let editorConfig: EditorConfig
14 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
15 |     var body: some View {
16 |         HStack {
[19/20] Compiling EasyNodeEditor TouchEventView.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/Line.swift:15:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct Line: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nm: NodeModelBase
13 |     let i: Int
14 |     let editorConfig: EditorConfig
15 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
16 |     var body: some View {
17 |         VStack(alignment: .leading, spacing: 0) { () -> AnyView in
[20/20] Compiling EasyNodeEditor Line.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/Line.swift:15:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct Line: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nm: NodeModelBase
13 |     let i: Int
14 |     let editorConfig: EditorConfig
15 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
16 |     var body: some View {
17 |         VStack(alignment: .leading, spacing: 0) { () -> AnyView in
[21/21] Compiling EasyNodeEditor NodeMenuContent.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/NodeMenuContent.swift:14:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct NodeMenuContent: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nodeType: NodeModelBase.Type
13 |     let editorConfig: EditorConfig
14 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
15 |     var body: some View {
16 |         HStack {
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/NodeMenuContent.swift:22:44: warning: forced cast of 'String' to same type has no effect
20 |             Button("add") {
21 |                 let temp = nodeType.init(editorConfig: editorConfig)
22 |                 manager.nodeModels[temp.id as! String] = temp
   |                                            `- warning: forced cast of 'String' to same type has no effect
23 |             }
24 |         }
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/19] Compiling EasyNodeEditor CGPoint+.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
   | `- note: The missing import of module 'CoreGraphics' will be added implicitly
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
[3/19] Compiling EasyNodeEditor CGSize+.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
   | `- note: The missing import of module 'CoreGraphics' will be added implicitly
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
[4/19] Compiling EasyNodeEditor NodeModelBase.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:48:41: warning: non-constant range: argument must be an integer literal
46 |         return AnyView(
47 |             VStack(alignment: .center, spacing: 0) {
48 |                 ForEach (0..<inputArray.count) { i in
   |                                         `- warning: non-constant range: argument must be an integer literal
49 |                     InputNode(idString: (nodeID: self.id, inputName: inputArray[i]), editorConfig: self.editorConfig)
50 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:53:42: warning: non-constant range: argument must be an integer literal
51 |                 Text(self.displayTitle())
52 |                 wrapMiddleContent()
53 |                 ForEach (0..<outputArray.count) { o in
   |                                          `- warning: non-constant range: argument must be an integer literal
54 |                     OutputNode(idString: (nodeID: self.id, outputName: outputArray[o]), editorConfig: self.editorConfig)
55 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:101:5: warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
 99 |
100 | fileprivate extension NSTableView {
101 |     open override func viewDidMoveToWindow() {
    |     `- warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
102 |         super.viewDidMoveToWindow()
103 |         backgroundColor = NSColor.clear
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:56:64: warning: non-constant range: argument must be an integer literal
 54 |                         }
 55 |                 )
 56 |             ForEach(0..<Array(Mirror(reflecting: nm).children).count) { i in
    |                                                                `- warning: non-constant range: argument must be an integer literal
 57 |                 Line(nm: nm, i: i, editorConfig: editorConfig)
 58 |                     .frame(width: editorConfig.editorWidth, height: editorConfig.editorHeight, alignment: .trailing)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:83:47: warning: non-constant range: argument must be an integer literal
 81 |                     }
 82 |                     List {
 83 |                         ForEach(0..<nodeTypes.count) { i in
    |                                               `- warning: non-constant range: argument must be an integer literal
 84 |                             NodeMenuContent(nodeType: nodeTypes[i], editorConfig: editorConfig)
 85 |                                 .padding(EdgeInsets(top: 0, leading: 10, bottom: 0, trailing: 10))
[5/19] Compiling EasyNodeEditor EasyNodeEditor.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:48:41: warning: non-constant range: argument must be an integer literal
46 |         return AnyView(
47 |             VStack(alignment: .center, spacing: 0) {
48 |                 ForEach (0..<inputArray.count) { i in
   |                                         `- warning: non-constant range: argument must be an integer literal
49 |                     InputNode(idString: (nodeID: self.id, inputName: inputArray[i]), editorConfig: self.editorConfig)
50 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Core/NodeModelBase.swift:53:42: warning: non-constant range: argument must be an integer literal
51 |                 Text(self.displayTitle())
52 |                 wrapMiddleContent()
53 |                 ForEach (0..<outputArray.count) { o in
   |                                          `- warning: non-constant range: argument must be an integer literal
54 |                     OutputNode(idString: (nodeID: self.id, outputName: outputArray[o]), editorConfig: self.editorConfig)
55 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:101:5: warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
 99 |
100 | fileprivate extension NSTableView {
101 |     open override func viewDidMoveToWindow() {
    |     `- warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
102 |         super.viewDidMoveToWindow()
103 |         backgroundColor = NSColor.clear
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:56:64: warning: non-constant range: argument must be an integer literal
 54 |                         }
 55 |                 )
 56 |             ForEach(0..<Array(Mirror(reflecting: nm).children).count) { i in
    |                                                                `- warning: non-constant range: argument must be an integer literal
 57 |                 Line(nm: nm, i: i, editorConfig: editorConfig)
 58 |                     .frame(width: editorConfig.editorWidth, height: editorConfig.editorHeight, alignment: .trailing)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:83:47: warning: non-constant range: argument must be an integer literal
 81 |                     }
 82 |                     List {
 83 |                         ForEach(0..<nodeTypes.count) { i in
    |                                               `- warning: non-constant range: argument must be an integer literal
 84 |                             NodeMenuContent(nodeType: nodeTypes[i], editorConfig: editorConfig)
 85 |                                 .padding(EdgeInsets(top: 0, leading: 10, bottom: 0, trailing: 10))
[6/19] Compiling EasyNodeEditor EditorConfig.swift
[7/19] Compiling EasyNodeEditor EasyNodeManager.swift
[8/19] Emitting module EasyNodeEditor
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/EasyNodeEditor.swift:101:5: warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
 99 |
100 | fileprivate extension NSTableView {
101 |     open override func viewDidMoveToWindow() {
    |     `- warning: 'open' modifier conflicts with extension's default access of 'fileprivate'
102 |         super.viewDidMoveToWindow()
103 |         backgroundColor = NSColor.clear
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'AdditiveArithmetic'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/Extensions/CGPoint+.swift:10:1: warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | extension CGPoint: AdditiveArithmetic {
   | |- warning: cannot use conformance of 'CGPoint' to 'Equatable' here; 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
   | `- note: The missing import of module 'CoreGraphics' will be added implicitly
11 |     public static func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
12 |         return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/Line.swift:15:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct Line: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nm: NodeModelBase
13 |     let i: Int
14 |     let editorConfig: EditorConfig
15 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
16 |     var body: some View {
17 |         VStack(alignment: .leading, spacing: 0) { () -> AnyView in
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/NodeMenuContent.swift:14:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct NodeMenuContent: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nodeType: NodeModelBase.Type
13 |     let editorConfig: EditorConfig
14 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
15 |     var body: some View {
16 |         HStack {
[9/20] Compiling EasyNodeEditor Node.swift
[10/20] Compiling EasyNodeEditor Input.swift
[11/20] Compiling EasyNodeEditor Middle.swift
[12/20] Compiling EasyNodeEditor OutputNode.swift
[13/20] Compiling EasyNodeEditor TestModel.swift
[14/20] Compiling EasyNodeEditor String+.swift
[15/20] Compiling EasyNodeEditor InputNode.swift
[16/20] Compiling EasyNodeEditor Output.swift
[17/20] Compiling EasyNodeEditor NSTouchEventView.swift
[18/20] Compiling EasyNodeEditor TouchEventView.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/Line.swift:15:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct Line: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nm: NodeModelBase
13 |     let i: Int
14 |     let editorConfig: EditorConfig
15 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
16 |     var body: some View {
17 |         VStack(alignment: .leading, spacing: 0) { () -> AnyView in
[19/20] Compiling EasyNodeEditor Line.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/Line.swift:15:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct Line: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nm: NodeModelBase
13 |     let i: Int
14 |     let editorConfig: EditorConfig
15 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
16 |     var body: some View {
17 |         VStack(alignment: .leading, spacing: 0) { () -> AnyView in
[20/20] Compiling EasyNodeEditor NodeMenuContent.swift
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/NodeMenuContent.swift:14:6: error: 'StateObject' is only available in macOS 11.0 or newer
 8 | import SwiftUI
 9 |
10 | struct NodeMenuContent: View, Identifiable {
   |        `- note: add @available attribute to enclosing struct
11 |     let id = UUID()
12 |     let nodeType: NodeModelBase.Type
13 |     let editorConfig: EditorConfig
14 |     @StateObject var manager = EasyNodeManager.shared
   |      `- error: 'StateObject' is only available in macOS 11.0 or newer
15 |     var body: some View {
16 |         HStack {
/Users/admin/builder/spi-builder-workspace/Sources/EasyNodeEditor/ViewModules/NodeMenuContent.swift:22:44: warning: forced cast of 'String' to same type has no effect
20 |             Button("add") {
21 |                 let temp = nodeType.init(editorConfig: editorConfig)
22 |                 manager.nodeModels[temp.id as! String] = temp
   |                                            `- warning: forced cast of 'String' to same type has no effect
23 |             }
24 |         }
BUILD FAILURE 6.1 macosSpm