Build Information
Failed to build Disco, reference main (eedb27), with Swift 6.1 for macOS (SPM) on 16 Oct 2025 17:32:09 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dvkch/Disco.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dvkch/Disco
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at eedb279 Add dumb UDP request to trigger local network access
Cloned https://github.com/dvkch/Disco.git
Revision (git rev-parse @):
eedb27938c34741a9d2b84f35ccfd4e86193107d
SUCCESS checkout https://github.com/dvkch/Disco.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/dvkch/Disco.git
https://github.com/dvkch/Disco.git
{
"dependencies" : [
{
"identity" : "swiftyping",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/samiyr/SwiftyPing"
}
],
"manifest_display_name" : "Disco",
"name" : "Disco",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "Disco",
"targets" : [
"Disco"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "DiscoTests",
"module_type" : "SwiftTarget",
"name" : "DiscoTests",
"path" : "Tests/DiscoTests",
"product_dependencies" : [
"SwiftyPing"
],
"sources" : [
"DiscoTests.swift"
],
"target_dependencies" : [
"Disco"
],
"type" : "test"
},
{
"c99name" : "Disco",
"module_type" : "SwiftTarget",
"name" : "Disco",
"path" : "Sources/Disco",
"product_dependencies" : [
"SwiftyPing"
],
"product_memberships" : [
"Disco"
],
"sources" : [
"HostStatusManager.swift",
"HostnameResolver.swift",
"HostsFinder.swift",
"IPInterface.swift",
"IPv4Interface.swift",
"IPv6Interface.swift",
"NetService+Disco.swift",
"Network+Disco.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/5] Compiling SwiftyPing SwiftyPing.swift
[5/5] Emitting module SwiftyPing
[6/14] Compiling Disco IPv4Interface.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:15:40: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv4Address, netmask: IPv4Address, flags: UInt32) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:15:62: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv4Address, netmask: IPv4Address, flags: UInt32) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:24:25: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
22 | // MARK: Properties
23 | public let name: String
24 | public let address: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
25 | public let netmask: IPv4Address
26 | public let flags: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:25:25: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
23 | public let name: String
24 | public let address: IPv4Address
25 | public let netmask: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
26 | public let flags: UInt32
27 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:29:59: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
27 |
28 | // MARK: IPv4 methods
29 | public func addressesOnSubnet(ignoringMine: Bool) -> [IPv4Address] {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
30 |
31 | let decimalIP = address.decimalRepresentation
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:12:15: warning: protocol 'IPInterface' requires 'IPv4Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- warning: protocol 'IPInterface' requires 'IPv4Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
13 |
14 | // MARK: Init
Network.IPv4Address:2:15: note: 'IPv4Address' declared here
1 | @available(macOS 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
2 | public struct IPv4Address : IPAddress, Hashable, CustomDebugStringConvertible {
| `- note: 'IPv4Address' declared here
3 | public static let any: IPv4Address
4 | public static let broadcast: IPv4Address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:38:27: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
27 |
28 | // MARK: IPv4 methods
29 | public func addressesOnSubnet(ignoringMine: Bool) -> [IPv4Address] {
| `- note: add @available attribute to enclosing instance method
30 |
31 | let decimalIP = address.decimalRepresentation
:
36 |
37 | var IPs = (0..<count)
38 | .compactMap { IPv4Address(decimal: $0 + firstIP) }
| |- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
39 | .filter { $0.isValid }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:66:63: error: 'IPv4Address' is only available in macOS 10.14 or newer
47 | }
48 |
49 | extension IPv4Interface {
| `- note: add @available attribute to enclosing extension
50 | public static func availableInterfaces() -> [IPv4Interface] {
| `- note: add @available attribute to enclosing static method
51 |
52 | // Get list of all interfaces on the local machine
:
64 |
65 | // Find valid addresses
66 | guard let address = interface.pointee.address as? IPv4Address else { return nil }
| |- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
67 | guard let netmask = interface.pointee.netmask as? IPv4Address else { return nil }
68 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:67:63: error: 'IPv4Address' is only available in macOS 10.14 or newer
47 | }
48 |
49 | extension IPv4Interface {
| `- note: add @available attribute to enclosing extension
50 | public static func availableInterfaces() -> [IPv4Interface] {
| `- note: add @available attribute to enclosing static method
51 |
52 | // Get list of all interfaces on the local machine
:
65 | // Find valid addresses
66 | guard let address = interface.pointee.address as? IPv4Address else { return nil }
67 | guard let netmask = interface.pointee.netmask as? IPv4Address else { return nil }
| |- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
68 |
69 | return IPv4Interface(
[7/14] Compiling Disco HostnameResolver.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostnameResolver.swift:23:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HostnameResolver' may have shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | /// Used to resolve hostnames from IP addresses
20 | public class HostnameResolver: NSObject {
| `- note: class 'HostnameResolver' does not conform to the 'Sendable' protocol
21 |
22 | // MARK: Init
23 | public static let shared = HostnameResolver()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HostnameResolver' 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
24 | private override init() {
25 | super.init()
[8/14] Compiling Disco NetService+Disco.swift
[9/14] Compiling Disco IPInterface.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPInterface.swift:14:29: error: 'IPAddress' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public protocol IPInterface <Address>: Equatable, Hashable, CustomStringConvertible {
| `- note: add @available attribute to enclosing protocol
13 |
14 | associatedtype Address: IPAddress & Hashable & CustomDebugStringConvertible
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing associated type
15 |
16 | var name: String { get }
[10/14] Compiling Disco IPv6Interface.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:15:40: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv6Address, netmask: IPv6Address, flags: UInt32) {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:15:62: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv6Address, netmask: IPv6Address, flags: UInt32) {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:24:25: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
22 | // MARK: Properties
23 | public let name: String
24 | public let address: IPv6Address
| `- error: 'IPv6Address' is only available in macOS 10.14 or newer
25 | public let netmask: IPv6Address
26 | public let flags: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:25:25: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
23 | public let name: String
24 | public let address: IPv6Address
25 | public let netmask: IPv6Address
| `- error: 'IPv6Address' is only available in macOS 10.14 or newer
26 | public let flags: UInt32
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:12:15: warning: protocol 'IPInterface' requires 'IPv6Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- warning: protocol 'IPInterface' requires 'IPv6Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
13 |
14 | // MARK: Init
Network.IPv6Address:2:15: note: 'IPv6Address' declared here
1 | @available(macOS 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
2 | public struct IPv6Address : IPAddress, Hashable, CustomDebugStringConvertible {
| `- note: 'IPv6Address' declared here
3 | public static let any: IPv6Address
4 | public static let broadcast: IPv6Address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:46:63: error: 'IPv6Address' is only available in macOS 10.14 or newer
27 | }
28 |
29 | extension IPv6Interface {
| `- note: add @available attribute to enclosing extension
30 | public static func availableInterfaces() -> [IPv6Interface] {
| `- note: add @available attribute to enclosing static method
31 |
32 | // Get list of all interfaces on the local machine
:
44 |
45 | // Find valid addresses
46 | guard let address = interface.pointee.address as? IPv6Address else { return nil }
| |- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
47 | guard let netmask = interface.pointee.netmask as? IPv6Address else { return nil }
48 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:47:63: error: 'IPv6Address' is only available in macOS 10.14 or newer
27 | }
28 |
29 | extension IPv6Interface {
| `- note: add @available attribute to enclosing extension
30 | public static func availableInterfaces() -> [IPv6Interface] {
| `- note: add @available attribute to enclosing static method
31 |
32 | // Get list of all interfaces on the local machine
:
45 | // Find valid addresses
46 | guard let address = interface.pointee.address as? IPv6Address else { return nil }
47 | guard let netmask = interface.pointee.netmask as? IPv6Address else { return nil }
| |- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
48 |
49 | return IPv6Interface(
error: emit-module command failed with exit code 1 (use -v to see invocation)
[11/14] Emitting module Disco
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:23:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HostStatusManager' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: class 'HostStatusManager' does not conform to the 'Sendable' protocol
21 |
22 | // MARK: Init
23 | public static let shared = HostStatusManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HostStatusManager' 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
24 |
25 | private override init() {
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:64:37: error: 'NWConnection' is only available in macOS 10.14 or newer
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: add @available attribute to enclosing class
21 |
22 | // MARK: Init
:
62 | private(set) var isRunning: Bool = false
63 | private var queue = DispatchQueue(label: String(describing: HostStatusManager.self), qos: .utility)
64 | private var connections: [Host: NWConnection] = [:]
| `- error: 'NWConnection' is only available in macOS 10.14 or newer
65 | private var statuses: [Host: HostStatus] = [:]
66 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostnameResolver.swift:23:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HostnameResolver' may have shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | /// Used to resolve hostnames from IP addresses
20 | public class HostnameResolver: NSObject {
| `- note: class 'HostnameResolver' does not conform to the 'Sendable' protocol
21 |
22 | // MARK: Init
23 | public static let shared = HostnameResolver()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HostnameResolver' 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
24 | private override init() {
25 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:15:60: error: 'IPv4Address' is only available in macOS 10.14 or newer
11 | import Network
12 |
13 | public protocol HostsFinderDelegate: NSObjectProtocol {
| `- note: add @available attribute to enclosing protocol
14 | func hostsFinder(_ hostsFinder: HostsFinder, progressUpdated progress: Float)
15 | func hostsFinder(_ hostsFinder: HostsFinder, found ip: IPv4Address)
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
16 | func hostsFinder(_ hostsFinder: HostsFinder, stopped completed: Bool)
17 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:80:37: error: 'IPv4Address' is only available in macOS 10.14 or newer
17 | }
18 |
19 | public class HostsFinder: NSObject {
| `- note: add @available attribute to enclosing class
20 |
21 | // MARK: Init
:
78 | }
79 |
80 | private func pingFinished(_ ip: IPv4Address, available: Bool) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
81 | finishedCount += 1
82 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:98:16: error: 'IPv4Address' is only available in macOS 10.14 or newer
94 | }
95 |
96 | private class PingOperation: Operation {
| `- note: add @available attribute to enclosing class
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
99 | self.host = host
100 | self.completion = completion
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:104:27: error: 'IPv4Address' is only available in macOS 10.14 or newer
94 | }
95 |
96 | private class PingOperation: Operation {
| `- note: add @available attribute to enclosing class
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
:
102 | }
103 |
104 | fileprivate let host: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
105 | static var queue = DispatchQueue.global(qos: .utility)
106 | private let completion: (_ available: Bool) -> ()
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:105:16: warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
103 |
104 | fileprivate let host: IPv4Address
105 | static var queue = DispatchQueue.global(qos: .utility)
| |- warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'queue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'queue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
106 | private let completion: (_ available: Bool) -> ()
107 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:96:15: warning: class 'PingOperation' must restate inherited '@unchecked Sendable' conformance
94 | }
95 |
96 | private class PingOperation: Operation {
| `- warning: class 'PingOperation' must restate inherited '@unchecked Sendable' conformance
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPInterface.swift:14:29: error: 'IPAddress' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public protocol IPInterface <Address>: Equatable, Hashable, CustomStringConvertible {
| `- note: add @available attribute to enclosing protocol
13 |
14 | associatedtype Address: IPAddress & Hashable & CustomDebugStringConvertible
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing associated type
15 |
16 | var name: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:15:40: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv4Address, netmask: IPv4Address, flags: UInt32) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:15:62: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv4Address, netmask: IPv4Address, flags: UInt32) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:24:25: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
22 | // MARK: Properties
23 | public let name: String
24 | public let address: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
25 | public let netmask: IPv4Address
26 | public let flags: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:25:25: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
23 | public let name: String
24 | public let address: IPv4Address
25 | public let netmask: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
26 | public let flags: UInt32
27 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:29:59: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
27 |
28 | // MARK: IPv4 methods
29 | public func addressesOnSubnet(ignoringMine: Bool) -> [IPv4Address] {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
30 |
31 | let decimalIP = address.decimalRepresentation
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:12:15: warning: protocol 'IPInterface' requires 'IPv4Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- warning: protocol 'IPInterface' requires 'IPv4Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
13 |
14 | // MARK: Init
Network.IPv4Address:2:15: note: 'IPv4Address' declared here
1 | @available(macOS 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
2 | public struct IPv4Address : IPAddress, Hashable, CustomDebugStringConvertible {
| `- note: 'IPv4Address' declared here
3 | public static let any: IPv4Address
4 | public static let broadcast: IPv4Address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:15:40: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv6Address, netmask: IPv6Address, flags: UInt32) {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:15:62: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv6Address, netmask: IPv6Address, flags: UInt32) {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:24:25: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
22 | // MARK: Properties
23 | public let name: String
24 | public let address: IPv6Address
| `- error: 'IPv6Address' is only available in macOS 10.14 or newer
25 | public let netmask: IPv6Address
26 | public let flags: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:25:25: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
23 | public let name: String
24 | public let address: IPv6Address
25 | public let netmask: IPv6Address
| `- error: 'IPv6Address' is only available in macOS 10.14 or newer
26 | public let flags: UInt32
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:12:15: warning: protocol 'IPInterface' requires 'IPv6Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- warning: protocol 'IPInterface' requires 'IPv6Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
13 |
14 | // MARK: Init
Network.IPv6Address:2:15: note: 'IPv6Address' declared here
1 | @available(macOS 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
2 | public struct IPv6Address : IPAddress, Hashable, CustomDebugStringConvertible {
| `- note: 'IPv6Address' declared here
3 | public static let any: IPv6Address
4 | public static let broadcast: IPv6Address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:12:11: error: 'NWConnection' is only available in macOS 10.14 or newer
10 | import Foundation
11 |
12 | extension NWConnection {
| | `- error: 'NWConnection' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
13 | public static func askLocalNetworkAccess(_ completion: @escaping (Bool) -> ()) {
14 | // This method will try its best to trigger a Local Network Privacy prompt to show.
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:38:11: error: 'IPv4Address' is only available in macOS 10.14 or newer
36 | }
37 |
38 | extension IPv4Address {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
39 | public var stringRepresentation: String {
40 | return debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:62:11: error: 'IPv6Address' is only available in macOS 10.14 or newer
60 | }
61 |
62 | extension IPv6Address {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
63 | public var stringRepresentation: String {
64 | return debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:69:18: error: 'IPAddress' is only available in macOS 10.14 or newer
66 | }
67 |
68 | internal extension ifaddrs {
| `- note: add @available attribute to enclosing extension
69 | var address: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
70 | ifa_addr.address
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:73:18: error: 'IPAddress' is only available in macOS 10.14 or newer
66 | }
67 |
68 | internal extension ifaddrs {
| `- note: add @available attribute to enclosing extension
69 | var address: IPAddress? {
70 | ifa_addr.address
71 | }
72 |
73 | var netmask: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
74 | ifa_netmask.address
75 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:79:18: error: 'IPAddress' is only available in macOS 10.14 or newer
76 | }
77 |
78 | internal extension UnsafeMutablePointer where Pointee == sockaddr {
| `- note: add @available attribute to enclosing extension
79 | var address: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
80 | if pointee.sa_family == AF_INET {
81 | return self.withMemoryRebound(to: sockaddr_in.self, capacity: 1) { pointer in
[12/14] Compiling Disco HostStatusManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:23:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HostStatusManager' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: class 'HostStatusManager' does not conform to the 'Sendable' protocol
21 |
22 | // MARK: Init
23 | public static let shared = HostStatusManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HostStatusManager' 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
24 |
25 | private override init() {
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:64:37: error: 'NWConnection' is only available in macOS 10.14 or newer
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: add @available attribute to enclosing class
21 |
22 | // MARK: Init
:
62 | private(set) var isRunning: Bool = false
63 | private var queue = DispatchQueue(label: String(describing: HostStatusManager.self), qos: .utility)
64 | private var connections: [Host: NWConnection] = [:]
| `- error: 'NWConnection' is only available in macOS 10.14 or newer
65 | private var statuses: [Host: HostStatus] = [:]
66 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:90:27: error: 'NWProtocolTCP' is only available in macOS 10.14 or newer
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: add @available attribute to enclosing class
21 |
22 | // MARK: Init
:
84 | }
85 |
86 | @objc private func observeHosts() {
| `- note: add @available attribute to enclosing instance method
87 | let unobservedHosts = Set(hosts).subtracting(connections.keys)
88 |
89 | unobservedHosts.forEach { host in
90 | let options = NWProtocolTCP.Options()
| |- error: 'NWProtocolTCP' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
91 | options.connectionTimeout = 5
92 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:93:30: error: 'NWConnection' is only available in macOS 10.14 or newer
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: add @available attribute to enclosing class
21 |
22 | // MARK: Init
:
84 | }
85 |
86 | @objc private func observeHosts() {
| `- note: add @available attribute to enclosing instance method
87 | let unobservedHosts = Set(hosts).subtracting(connections.keys)
88 |
:
91 | options.connectionTimeout = 5
92 |
93 | let connection = NWConnection(
| |- error: 'NWConnection' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
94 | host: .init(host.host),
95 | port: .init(rawValue: UInt16(host.port))!,
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:102:21: warning: capture of 'self' with non-sendable type 'HostStatusManager' in a '@Sendable' closure; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: class 'HostStatusManager' does not conform to the 'Sendable' protocol
21 |
22 | // MARK: Init
:
100 | switch(newState) {
101 | case .ready:
102 | self.updateHostStatus(host, status: .online)
| `- warning: capture of 'self' with non-sendable type 'HostStatusManager' in a '@Sendable' closure; this is an error in the Swift 6 language mode
103 |
104 | case .waiting:
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:102:43: warning: capture of 'host' with non-sendable type 'HostStatusManager.Host' in a '@Sendable' closure; this is an error in the Swift 6 language mode
43 | }
44 |
45 | public struct Host: Hashable {
| `- note: consider making struct 'Host' conform to the 'Sendable' protocol
46 | public let host: String
47 | public let port: Int
:
100 | switch(newState) {
101 | case .ready:
102 | self.updateHostStatus(host, status: .online)
| `- warning: capture of 'host' with non-sendable type 'HostStatusManager.Host' in a '@Sendable' closure; this is an error in the Swift 6 language mode
103 |
104 | case .waiting:
[13/14] Compiling Disco HostsFinder.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:15:60: error: 'IPv4Address' is only available in macOS 10.14 or newer
11 | import Network
12 |
13 | public protocol HostsFinderDelegate: NSObjectProtocol {
| `- note: add @available attribute to enclosing protocol
14 | func hostsFinder(_ hostsFinder: HostsFinder, progressUpdated progress: Float)
15 | func hostsFinder(_ hostsFinder: HostsFinder, found ip: IPv4Address)
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
16 | func hostsFinder(_ hostsFinder: HostsFinder, stopped completed: Bool)
17 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:80:37: error: 'IPv4Address' is only available in macOS 10.14 or newer
17 | }
18 |
19 | public class HostsFinder: NSObject {
| `- note: add @available attribute to enclosing class
20 |
21 | // MARK: Init
:
78 | }
79 |
80 | private func pingFinished(_ ip: IPv4Address, available: Bool) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
81 | finishedCount += 1
82 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:98:16: error: 'IPv4Address' is only available in macOS 10.14 or newer
94 | }
95 |
96 | private class PingOperation: Operation {
| `- note: add @available attribute to enclosing class
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
99 | self.host = host
100 | self.completion = completion
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:104:27: error: 'IPv4Address' is only available in macOS 10.14 or newer
94 | }
95 |
96 | private class PingOperation: Operation {
| `- note: add @available attribute to enclosing class
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
:
102 | }
103 |
104 | fileprivate let host: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
105 | static var queue = DispatchQueue.global(qos: .utility)
106 | private let completion: (_ available: Bool) -> ()
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:105:16: warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
103 |
104 | fileprivate let host: IPv4Address
105 | static var queue = DispatchQueue.global(qos: .utility)
| |- warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'queue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'queue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
106 | private let completion: (_ available: Bool) -> ()
107 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:96:15: warning: class 'PingOperation' must restate inherited '@unchecked Sendable' conformance
94 | }
95 |
96 | private class PingOperation: Operation {
| `- warning: class 'PingOperation' must restate inherited '@unchecked Sendable' conformance
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:44:17: warning: capture of 'self' with non-sendable type 'HostsFinder' in a '@Sendable' closure
17 | }
18 |
19 | public class HostsFinder: NSObject {
| `- note: class 'HostsFinder' does not conform to the 'Sendable' protocol
20 |
21 | // MARK: Init
:
42 | guard !Thread.isMainThread else {
43 | DispatchQueue.global(qos: .background).async {
44 | self.start()
| `- warning: capture of 'self' with non-sendable type 'HostsFinder' in a '@Sendable' closure
45 | }
46 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:71:13: warning: capture of 'self' with non-sendable type 'HostsFinder' in a '@Sendable' closure
17 | }
18 |
19 | public class HostsFinder: NSObject {
| `- note: class 'HostsFinder' does not conform to the 'Sendable' protocol
20 |
21 | // MARK: Init
:
69 | DispatchQueue.global(qos: .background).async {
70 | // it can be slow to cancel all operations
71 | self.queue.cancelAllOperations()
| `- warning: capture of 'self' with non-sendable type 'HostsFinder' in a '@Sendable' closure
72 |
73 | DispatchQueue.main.async {
[14/14] Compiling Disco Network+Disco.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:12:11: error: 'NWConnection' is only available in macOS 10.14 or newer
10 | import Foundation
11 |
12 | extension NWConnection {
| | `- error: 'NWConnection' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
13 | public static func askLocalNetworkAccess(_ completion: @escaping (Bool) -> ()) {
14 | // This method will try its best to trigger a Local Network Privacy prompt to show.
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:38:11: error: 'IPv4Address' is only available in macOS 10.14 or newer
36 | }
37 |
38 | extension IPv4Address {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
39 | public var stringRepresentation: String {
40 | return debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:62:11: error: 'IPv6Address' is only available in macOS 10.14 or newer
60 | }
61 |
62 | extension IPv6Address {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
63 | public var stringRepresentation: String {
64 | return debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:69:18: error: 'IPAddress' is only available in macOS 10.14 or newer
66 | }
67 |
68 | internal extension ifaddrs {
| `- note: add @available attribute to enclosing extension
69 | var address: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
70 | ifa_addr.address
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:73:18: error: 'IPAddress' is only available in macOS 10.14 or newer
66 | }
67 |
68 | internal extension ifaddrs {
| `- note: add @available attribute to enclosing extension
69 | var address: IPAddress? {
70 | ifa_addr.address
71 | }
72 |
73 | var netmask: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
74 | ifa_netmask.address
75 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:79:18: error: 'IPAddress' is only available in macOS 10.14 or newer
76 | }
77 |
78 | internal extension UnsafeMutablePointer where Pointee == sockaddr {
| `- note: add @available attribute to enclosing extension
79 | var address: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
80 | if pointee.sa_family == AF_INET {
81 | return self.withMemoryRebound(to: sockaddr_in.self, capacity: 1) { pointer in
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:19:26: error: 'NWConnection' is only available in macOS 10.14 or newer
10 | import Foundation
11 |
12 | extension NWConnection {
| `- note: add @available attribute to enclosing extension
13 | public static func askLocalNetworkAccess(_ completion: @escaping (Bool) -> ()) {
| `- note: add @available attribute to enclosing static method
14 | // This method will try its best to trigger a Local Network Privacy prompt to show.
15 | // While making a simple TCP connection used to work well on both macOS and iOS, since
:
17 | // unicast request to a dumb address and hope for the best
18 |
19 | let connection = NWConnection(host: "127.0.0.2", port: 12345, using: .udp)
| |- error: 'NWConnection' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
20 | connection.stateUpdateHandler = { state in
21 | switch state {
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:26:30: warning: immutable value 'error' was never used; consider replacing with '_' or removing it
24 | connection.send(content: data, completion: .contentProcessed { _ in completion(true) })
25 |
26 | case .failed(let error):
| `- warning: immutable value 'error' was never used; consider replacing with '_' or removing it
27 | completion(false)
28 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:24:85: warning: capture of 'completion' with non-sendable type '(Bool) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
22 | case .ready:
23 | let data = "Just asking for local network permissions".data(using: .utf8)!
24 | connection.send(content: data, completion: .contentProcessed { _ in completion(true) })
| |- warning: capture of 'completion' with non-sendable type '(Bool) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
25 |
26 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:24:85: warning: capture of 'completion' with non-sendable type '(Bool) -> ()' in a '@Sendable' closure
22 | case .ready:
23 | let data = "Just asking for local network permissions".data(using: .utf8)!
24 | connection.send(content: data, completion: .contentProcessed { _ in completion(true) })
| |- warning: capture of 'completion' with non-sendable type '(Bool) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
25 |
26 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:91:24: error: 'IPv4Address' is only available in macOS 10.14 or newer
76 | }
77 |
78 | internal extension UnsafeMutablePointer where Pointee == sockaddr {
| `- note: add @available attribute to enclosing extension
79 | var address: IPAddress? {
| `- note: add @available attribute to enclosing property
80 | if pointee.sa_family == AF_INET {
81 | return self.withMemoryRebound(to: sockaddr_in.self, capacity: 1) { pointer in
:
89 | )
90 | let string = String(cString: chars)
91 | return IPv4Address(string)
| |- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:105:24: error: 'IPv6Address' is only available in macOS 10.14 or newer
76 | }
77 |
78 | internal extension UnsafeMutablePointer where Pointee == sockaddr {
| `- note: add @available attribute to enclosing extension
79 | var address: IPAddress? {
| `- note: add @available attribute to enclosing property
80 | if pointee.sa_family == AF_INET {
81 | return self.withMemoryRebound(to: sockaddr_in.self, capacity: 1) { pointer in
:
103 | )
104 | let string = String(cString: chars)
105 | return IPv6Address(string)
| |- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
106 | }
107 | }
Fetching https://github.com/samiyr/SwiftyPing
[1/511] Fetching swiftyping
Fetched https://github.com/samiyr/SwiftyPing from cache (1.11s)
Computing version for https://github.com/samiyr/SwiftyPing
Computed https://github.com/samiyr/SwiftyPing at 1.2.1 (4.11s)
Creating working copy for https://github.com/samiyr/SwiftyPing
Working copy of https://github.com/samiyr/SwiftyPing resolved at 1.2.1
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
[2/3] Compiling SwiftyPing SwiftyPing.swift
[3/3] Emitting module SwiftyPing
[4/12] Compiling Disco Network+Disco.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:12:11: error: 'NWConnection' is only available in macOS 10.14 or newer
10 | import Foundation
11 |
12 | extension NWConnection {
| | `- error: 'NWConnection' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
13 | public static func askLocalNetworkAccess(_ completion: @escaping (Bool) -> ()) {
14 | // This method will try its best to trigger a Local Network Privacy prompt to show.
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:38:11: error: 'IPv4Address' is only available in macOS 10.14 or newer
36 | }
37 |
38 | extension IPv4Address {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
39 | public var stringRepresentation: String {
40 | return debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:62:11: error: 'IPv6Address' is only available in macOS 10.14 or newer
60 | }
61 |
62 | extension IPv6Address {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
63 | public var stringRepresentation: String {
64 | return debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:69:18: error: 'IPAddress' is only available in macOS 10.14 or newer
66 | }
67 |
68 | internal extension ifaddrs {
| `- note: add @available attribute to enclosing extension
69 | var address: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
70 | ifa_addr.address
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:73:18: error: 'IPAddress' is only available in macOS 10.14 or newer
66 | }
67 |
68 | internal extension ifaddrs {
| `- note: add @available attribute to enclosing extension
69 | var address: IPAddress? {
70 | ifa_addr.address
71 | }
72 |
73 | var netmask: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
74 | ifa_netmask.address
75 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:79:18: error: 'IPAddress' is only available in macOS 10.14 or newer
76 | }
77 |
78 | internal extension UnsafeMutablePointer where Pointee == sockaddr {
| `- note: add @available attribute to enclosing extension
79 | var address: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
80 | if pointee.sa_family == AF_INET {
81 | return self.withMemoryRebound(to: sockaddr_in.self, capacity: 1) { pointer in
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:19:26: error: 'NWConnection' is only available in macOS 10.14 or newer
10 | import Foundation
11 |
12 | extension NWConnection {
| `- note: add @available attribute to enclosing extension
13 | public static func askLocalNetworkAccess(_ completion: @escaping (Bool) -> ()) {
| `- note: add @available attribute to enclosing static method
14 | // This method will try its best to trigger a Local Network Privacy prompt to show.
15 | // While making a simple TCP connection used to work well on both macOS and iOS, since
:
17 | // unicast request to a dumb address and hope for the best
18 |
19 | let connection = NWConnection(host: "127.0.0.2", port: 12345, using: .udp)
| |- error: 'NWConnection' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
20 | connection.stateUpdateHandler = { state in
21 | switch state {
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:26:30: warning: immutable value 'error' was never used; consider replacing with '_' or removing it
24 | connection.send(content: data, completion: .contentProcessed { _ in completion(true) })
25 |
26 | case .failed(let error):
| `- warning: immutable value 'error' was never used; consider replacing with '_' or removing it
27 | completion(false)
28 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:91:24: error: 'IPv4Address' is only available in macOS 10.14 or newer
76 | }
77 |
78 | internal extension UnsafeMutablePointer where Pointee == sockaddr {
| `- note: add @available attribute to enclosing extension
79 | var address: IPAddress? {
| `- note: add @available attribute to enclosing property
80 | if pointee.sa_family == AF_INET {
81 | return self.withMemoryRebound(to: sockaddr_in.self, capacity: 1) { pointer in
:
89 | )
90 | let string = String(cString: chars)
91 | return IPv4Address(string)
| |- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:105:24: error: 'IPv6Address' is only available in macOS 10.14 or newer
76 | }
77 |
78 | internal extension UnsafeMutablePointer where Pointee == sockaddr {
| `- note: add @available attribute to enclosing extension
79 | var address: IPAddress? {
| `- note: add @available attribute to enclosing property
80 | if pointee.sa_family == AF_INET {
81 | return self.withMemoryRebound(to: sockaddr_in.self, capacity: 1) { pointer in
:
103 | )
104 | let string = String(cString: chars)
105 | return IPv6Address(string)
| |- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
106 | }
107 | }
[5/12] Compiling Disco IPv4Interface.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:15:40: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv4Address, netmask: IPv4Address, flags: UInt32) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:15:62: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv4Address, netmask: IPv4Address, flags: UInt32) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:24:25: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
22 | // MARK: Properties
23 | public let name: String
24 | public let address: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
25 | public let netmask: IPv4Address
26 | public let flags: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:25:25: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
23 | public let name: String
24 | public let address: IPv4Address
25 | public let netmask: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
26 | public let flags: UInt32
27 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:29:59: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
27 |
28 | // MARK: IPv4 methods
29 | public func addressesOnSubnet(ignoringMine: Bool) -> [IPv4Address] {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
30 |
31 | let decimalIP = address.decimalRepresentation
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:12:15: warning: protocol 'IPInterface' requires 'IPv4Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- warning: protocol 'IPInterface' requires 'IPv4Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
13 |
14 | // MARK: Init
Network.IPv4Address:2:15: note: 'IPv4Address' declared here
1 | @available(macOS 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
2 | public struct IPv4Address : IPAddress, Hashable, CustomDebugStringConvertible {
| `- note: 'IPv4Address' declared here
3 | public static let any: IPv4Address
4 | public static let broadcast: IPv4Address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:38:27: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
27 |
28 | // MARK: IPv4 methods
29 | public func addressesOnSubnet(ignoringMine: Bool) -> [IPv4Address] {
| `- note: add @available attribute to enclosing instance method
30 |
31 | let decimalIP = address.decimalRepresentation
:
36 |
37 | var IPs = (0..<count)
38 | .compactMap { IPv4Address(decimal: $0 + firstIP) }
| |- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
39 | .filter { $0.isValid }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:66:63: error: 'IPv4Address' is only available in macOS 10.14 or newer
47 | }
48 |
49 | extension IPv4Interface {
| `- note: add @available attribute to enclosing extension
50 | public static func availableInterfaces() -> [IPv4Interface] {
| `- note: add @available attribute to enclosing static method
51 |
52 | // Get list of all interfaces on the local machine
:
64 |
65 | // Find valid addresses
66 | guard let address = interface.pointee.address as? IPv4Address else { return nil }
| |- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
67 | guard let netmask = interface.pointee.netmask as? IPv4Address else { return nil }
68 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:67:63: error: 'IPv4Address' is only available in macOS 10.14 or newer
47 | }
48 |
49 | extension IPv4Interface {
| `- note: add @available attribute to enclosing extension
50 | public static func availableInterfaces() -> [IPv4Interface] {
| `- note: add @available attribute to enclosing static method
51 |
52 | // Get list of all interfaces on the local machine
:
65 | // Find valid addresses
66 | guard let address = interface.pointee.address as? IPv4Address else { return nil }
67 | guard let netmask = interface.pointee.netmask as? IPv4Address else { return nil }
| |- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
68 |
69 | return IPv4Interface(
[6/12] Compiling Disco NetService+Disco.swift
[7/12] Compiling Disco HostsFinder.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:15:60: error: 'IPv4Address' is only available in macOS 10.14 or newer
11 | import Network
12 |
13 | public protocol HostsFinderDelegate: NSObjectProtocol {
| `- note: add @available attribute to enclosing protocol
14 | func hostsFinder(_ hostsFinder: HostsFinder, progressUpdated progress: Float)
15 | func hostsFinder(_ hostsFinder: HostsFinder, found ip: IPv4Address)
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
16 | func hostsFinder(_ hostsFinder: HostsFinder, stopped completed: Bool)
17 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:80:37: error: 'IPv4Address' is only available in macOS 10.14 or newer
17 | }
18 |
19 | public class HostsFinder: NSObject {
| `- note: add @available attribute to enclosing class
20 |
21 | // MARK: Init
:
78 | }
79 |
80 | private func pingFinished(_ ip: IPv4Address, available: Bool) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
81 | finishedCount += 1
82 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:98:16: error: 'IPv4Address' is only available in macOS 10.14 or newer
94 | }
95 |
96 | private class PingOperation: Operation {
| `- note: add @available attribute to enclosing class
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
99 | self.host = host
100 | self.completion = completion
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:104:27: error: 'IPv4Address' is only available in macOS 10.14 or newer
94 | }
95 |
96 | private class PingOperation: Operation {
| `- note: add @available attribute to enclosing class
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
:
102 | }
103 |
104 | fileprivate let host: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
105 | static var queue = DispatchQueue.global(qos: .utility)
106 | private let completion: (_ available: Bool) -> ()
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:96:15: warning: class 'PingOperation' must restate inherited '@unchecked Sendable' conformance
94 | }
95 |
96 | private class PingOperation: Operation {
| `- warning: class 'PingOperation' must restate inherited '@unchecked Sendable' conformance
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
[8/12] Compiling Disco IPInterface.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPInterface.swift:14:29: error: 'IPAddress' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public protocol IPInterface <Address>: Equatable, Hashable, CustomStringConvertible {
| `- note: add @available attribute to enclosing protocol
13 |
14 | associatedtype Address: IPAddress & Hashable & CustomDebugStringConvertible
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing associated type
15 |
16 | var name: String { get }
[9/12] Compiling Disco IPv6Interface.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:15:40: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv6Address, netmask: IPv6Address, flags: UInt32) {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:15:62: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv6Address, netmask: IPv6Address, flags: UInt32) {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:24:25: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
22 | // MARK: Properties
23 | public let name: String
24 | public let address: IPv6Address
| `- error: 'IPv6Address' is only available in macOS 10.14 or newer
25 | public let netmask: IPv6Address
26 | public let flags: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:25:25: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
23 | public let name: String
24 | public let address: IPv6Address
25 | public let netmask: IPv6Address
| `- error: 'IPv6Address' is only available in macOS 10.14 or newer
26 | public let flags: UInt32
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:12:15: warning: protocol 'IPInterface' requires 'IPv6Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- warning: protocol 'IPInterface' requires 'IPv6Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
13 |
14 | // MARK: Init
Network.IPv6Address:2:15: note: 'IPv6Address' declared here
1 | @available(macOS 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
2 | public struct IPv6Address : IPAddress, Hashable, CustomDebugStringConvertible {
| `- note: 'IPv6Address' declared here
3 | public static let any: IPv6Address
4 | public static let broadcast: IPv6Address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:46:63: error: 'IPv6Address' is only available in macOS 10.14 or newer
27 | }
28 |
29 | extension IPv6Interface {
| `- note: add @available attribute to enclosing extension
30 | public static func availableInterfaces() -> [IPv6Interface] {
| `- note: add @available attribute to enclosing static method
31 |
32 | // Get list of all interfaces on the local machine
:
44 |
45 | // Find valid addresses
46 | guard let address = interface.pointee.address as? IPv6Address else { return nil }
| |- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
47 | guard let netmask = interface.pointee.netmask as? IPv6Address else { return nil }
48 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:47:63: error: 'IPv6Address' is only available in macOS 10.14 or newer
27 | }
28 |
29 | extension IPv6Interface {
| `- note: add @available attribute to enclosing extension
30 | public static func availableInterfaces() -> [IPv6Interface] {
| `- note: add @available attribute to enclosing static method
31 |
32 | // Get list of all interfaces on the local machine
:
45 | // Find valid addresses
46 | guard let address = interface.pointee.address as? IPv6Address else { return nil }
47 | guard let netmask = interface.pointee.netmask as? IPv6Address else { return nil }
| |- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
48 |
49 | return IPv6Interface(
error: emit-module command failed with exit code 1 (use -v to see invocation)
[10/12] Compiling Disco HostnameResolver.swift
[11/12] Emitting module Disco
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:64:37: error: 'NWConnection' is only available in macOS 10.14 or newer
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: add @available attribute to enclosing class
21 |
22 | // MARK: Init
:
62 | private(set) var isRunning: Bool = false
63 | private var queue = DispatchQueue(label: String(describing: HostStatusManager.self), qos: .utility)
64 | private var connections: [Host: NWConnection] = [:]
| `- error: 'NWConnection' is only available in macOS 10.14 or newer
65 | private var statuses: [Host: HostStatus] = [:]
66 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:15:60: error: 'IPv4Address' is only available in macOS 10.14 or newer
11 | import Network
12 |
13 | public protocol HostsFinderDelegate: NSObjectProtocol {
| `- note: add @available attribute to enclosing protocol
14 | func hostsFinder(_ hostsFinder: HostsFinder, progressUpdated progress: Float)
15 | func hostsFinder(_ hostsFinder: HostsFinder, found ip: IPv4Address)
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
16 | func hostsFinder(_ hostsFinder: HostsFinder, stopped completed: Bool)
17 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:80:37: error: 'IPv4Address' is only available in macOS 10.14 or newer
17 | }
18 |
19 | public class HostsFinder: NSObject {
| `- note: add @available attribute to enclosing class
20 |
21 | // MARK: Init
:
78 | }
79 |
80 | private func pingFinished(_ ip: IPv4Address, available: Bool) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
81 | finishedCount += 1
82 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:98:16: error: 'IPv4Address' is only available in macOS 10.14 or newer
94 | }
95 |
96 | private class PingOperation: Operation {
| `- note: add @available attribute to enclosing class
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
99 | self.host = host
100 | self.completion = completion
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:104:27: error: 'IPv4Address' is only available in macOS 10.14 or newer
94 | }
95 |
96 | private class PingOperation: Operation {
| `- note: add @available attribute to enclosing class
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
:
102 | }
103 |
104 | fileprivate let host: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
105 | static var queue = DispatchQueue.global(qos: .utility)
106 | private let completion: (_ available: Bool) -> ()
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostsFinder.swift:96:15: warning: class 'PingOperation' must restate inherited '@unchecked Sendable' conformance
94 | }
95 |
96 | private class PingOperation: Operation {
| `- warning: class 'PingOperation' must restate inherited '@unchecked Sendable' conformance
97 |
98 | init(host: IPv4Address, completion: @escaping (_ available: Bool) -> ()) {
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPInterface.swift:14:29: error: 'IPAddress' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public protocol IPInterface <Address>: Equatable, Hashable, CustomStringConvertible {
| `- note: add @available attribute to enclosing protocol
13 |
14 | associatedtype Address: IPAddress & Hashable & CustomDebugStringConvertible
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing associated type
15 |
16 | var name: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:15:40: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv4Address, netmask: IPv4Address, flags: UInt32) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:15:62: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv4Address, netmask: IPv4Address, flags: UInt32) {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:24:25: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
22 | // MARK: Properties
23 | public let name: String
24 | public let address: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
25 | public let netmask: IPv4Address
26 | public let flags: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:25:25: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
23 | public let name: String
24 | public let address: IPv4Address
25 | public let netmask: IPv4Address
| `- error: 'IPv4Address' is only available in macOS 10.14 or newer
26 | public let flags: UInt32
27 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:29:59: error: 'IPv4Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
27 |
28 | // MARK: IPv4 methods
29 | public func addressesOnSubnet(ignoringMine: Bool) -> [IPv4Address] {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
30 |
31 | let decimalIP = address.decimalRepresentation
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv4Interface.swift:12:15: warning: protocol 'IPInterface' requires 'IPv4Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
10 | import Network
11 |
12 | public struct IPv4Interface: IPInterface {
| `- warning: protocol 'IPInterface' requires 'IPv4Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
13 |
14 | // MARK: Init
Network.IPv4Address:2:15: note: 'IPv4Address' declared here
1 | @available(macOS 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
2 | public struct IPv4Address : IPAddress, Hashable, CustomDebugStringConvertible {
| `- note: 'IPv4Address' declared here
3 | public static let any: IPv4Address
4 | public static let broadcast: IPv4Address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:15:40: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv6Address, netmask: IPv6Address, flags: UInt32) {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:15:62: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
15 | public init(name: String, address: IPv6Address, netmask: IPv6Address, flags: UInt32) {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing initializer
16 | self.name = name
17 | self.address = address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:24:25: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
22 | // MARK: Properties
23 | public let name: String
24 | public let address: IPv6Address
| `- error: 'IPv6Address' is only available in macOS 10.14 or newer
25 | public let netmask: IPv6Address
26 | public let flags: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:25:25: error: 'IPv6Address' is only available in macOS 10.14 or newer
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- note: add @available attribute to enclosing struct
13 |
14 | // MARK: Init
:
23 | public let name: String
24 | public let address: IPv6Address
25 | public let netmask: IPv6Address
| `- error: 'IPv6Address' is only available in macOS 10.14 or newer
26 | public let flags: UInt32
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/IPv6Interface.swift:12:15: warning: protocol 'IPInterface' requires 'IPv6Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
10 | import Network
11 |
12 | public struct IPv6Interface: IPInterface {
| `- warning: protocol 'IPInterface' requires 'IPv6Address' to be available in macOS 10.13 and newer; this will be an error in a future Swift language mode
13 |
14 | // MARK: Init
Network.IPv6Address:2:15: note: 'IPv6Address' declared here
1 | @available(macOS 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
2 | public struct IPv6Address : IPAddress, Hashable, CustomDebugStringConvertible {
| `- note: 'IPv6Address' declared here
3 | public static let any: IPv6Address
4 | public static let broadcast: IPv6Address
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:12:11: error: 'NWConnection' is only available in macOS 10.14 or newer
10 | import Foundation
11 |
12 | extension NWConnection {
| | `- error: 'NWConnection' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
13 | public static func askLocalNetworkAccess(_ completion: @escaping (Bool) -> ()) {
14 | // This method will try its best to trigger a Local Network Privacy prompt to show.
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:38:11: error: 'IPv4Address' is only available in macOS 10.14 or newer
36 | }
37 |
38 | extension IPv4Address {
| | `- error: 'IPv4Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
39 | public var stringRepresentation: String {
40 | return debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:62:11: error: 'IPv6Address' is only available in macOS 10.14 or newer
60 | }
61 |
62 | extension IPv6Address {
| | `- error: 'IPv6Address' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing extension
63 | public var stringRepresentation: String {
64 | return debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:69:18: error: 'IPAddress' is only available in macOS 10.14 or newer
66 | }
67 |
68 | internal extension ifaddrs {
| `- note: add @available attribute to enclosing extension
69 | var address: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
70 | ifa_addr.address
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:73:18: error: 'IPAddress' is only available in macOS 10.14 or newer
66 | }
67 |
68 | internal extension ifaddrs {
| `- note: add @available attribute to enclosing extension
69 | var address: IPAddress? {
70 | ifa_addr.address
71 | }
72 |
73 | var netmask: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
74 | ifa_netmask.address
75 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disco/Network+Disco.swift:79:18: error: 'IPAddress' is only available in macOS 10.14 or newer
76 | }
77 |
78 | internal extension UnsafeMutablePointer where Pointee == sockaddr {
| `- note: add @available attribute to enclosing extension
79 | var address: IPAddress? {
| | `- error: 'IPAddress' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing property
80 | if pointee.sa_family == AF_INET {
81 | return self.withMemoryRebound(to: sockaddr_in.self, capacity: 1) { pointer in
[12/12] Compiling Disco HostStatusManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:64:37: error: 'NWConnection' is only available in macOS 10.14 or newer
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: add @available attribute to enclosing class
21 |
22 | // MARK: Init
:
62 | private(set) var isRunning: Bool = false
63 | private var queue = DispatchQueue(label: String(describing: HostStatusManager.self), qos: .utility)
64 | private var connections: [Host: NWConnection] = [:]
| `- error: 'NWConnection' is only available in macOS 10.14 or newer
65 | private var statuses: [Host: HostStatus] = [:]
66 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:90:27: error: 'NWProtocolTCP' is only available in macOS 10.14 or newer
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: add @available attribute to enclosing class
21 |
22 | // MARK: Init
:
84 | }
85 |
86 | @objc private func observeHosts() {
| `- note: add @available attribute to enclosing instance method
87 | let unobservedHosts = Set(hosts).subtracting(connections.keys)
88 |
89 | unobservedHosts.forEach { host in
90 | let options = NWProtocolTCP.Options()
| |- error: 'NWProtocolTCP' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
91 | options.connectionTimeout = 5
92 |
/Users/admin/builder/spi-builder-workspace/Sources/Disco/HostStatusManager.swift:93:30: error: 'NWConnection' is only available in macOS 10.14 or newer
18 | }
19 |
20 | public class HostStatusManager: NSObject {
| `- note: add @available attribute to enclosing class
21 |
22 | // MARK: Init
:
84 | }
85 |
86 | @objc private func observeHosts() {
| `- note: add @available attribute to enclosing instance method
87 | let unobservedHosts = Set(hosts).subtracting(connections.keys)
88 |
:
91 | options.connectionTimeout = 5
92 |
93 | let connection = NWConnection(
| |- error: 'NWConnection' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
94 | host: .init(host.host),
95 | port: .init(rawValue: UInt16(host.port))!,
BUILD FAILURE 6.1 macosSpm