Build Information
Successful build of RuntimeKit, reference main (374c90), with Swift 6.1 for macOS (SPM) on 10 Aug 2025 12:50:51 UTC.
Swift 6 data race errors: 1
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.65.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nicked/RuntimeKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/nicked/RuntimeKit
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 374c90e Added a TypeEncoding parser
Cloned https://github.com/nicked/RuntimeKit.git
Revision (git rev-parse @):
374c90e3ecf4c021540d2c18f11a4c553900b029
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/nicked/RuntimeKit.git at main
========================================
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": "runtimekit",
"name": "RuntimeKit",
"url": "https://github.com/nicked/RuntimeKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/RuntimeKit",
"dependencies": [
]
}
]
}
Fetching https://github.com/nicked/RuntimeKit.git
[3/86] Fetching runtimekit
Fetched https://github.com/nicked/RuntimeKit.git from cache (0.67s)
Creating working copy for https://github.com/nicked/RuntimeKit.git
Working copy of https://github.com/nicked/RuntimeKit.git resolved at main (374c90e)
warning: '.resolve-product-dependencies': dependency 'runtimekit' 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/nicked/RuntimeKit.git
https://github.com/nicked/RuntimeKit.git
{
"dependencies" : [
],
"manifest_display_name" : "RuntimeKit",
"name" : "RuntimeKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "RuntimeKit",
"targets" : [
"RuntimeKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "RuntimeKitTests",
"module_type" : "SwiftTarget",
"name" : "RuntimeKitTests",
"path" : "Tests/RuntimeKitTests",
"sources" : [
"AttributesTests.swift",
"Invocation/InvocationTests.swift",
"Invocation/MethodSignatureTests.swift",
"ObjCClassTests.swift",
"ProtocolTests.swift",
"Utils/TypeEncodingTests.swift"
],
"target_dependencies" : [
"RuntimeKit"
],
"type" : "test"
},
{
"c99name" : "RuntimeKit",
"module_type" : "SwiftTarget",
"name" : "RuntimeKit",
"path" : "Sources/RuntimeKit",
"product_memberships" : [
"RuntimeKit"
],
"sources" : [
"Invocation/Invocation.swift",
"Invocation/MethodSignature.swift",
"ObjCClass+Create.swift",
"ObjCClass+Ivars.swift",
"ObjCClass+Methods.swift",
"ObjCClass+Properties.swift",
"ObjCClass+Protocols.swift",
"ObjCClass+RuntimeFuncs.swift",
"ObjCClass.swift",
"ObjCIvar.swift",
"ObjCMethod.swift",
"ObjCProperty.Attributes.swift",
"ObjCProperty.swift",
"ObjCProtocol+Create.swift",
"ObjCProtocol+RuntimeFuncs.swift",
"ObjCProtocol.swift",
"RuntimeList/RuntimeFuncs.swift",
"RuntimeList/RuntimeList.swift",
"Utils/MethodTypeEncodings.swift",
"Utils/Substring+ParseType.swift",
"Utils/TypeEncoding.swift",
"Utils/UnsafeBuffer+Utils.swift"
],
"target_dependencies" : [
"RuntimeFix"
],
"type" : "library"
},
{
"c99name" : "RuntimeFix",
"module_type" : "ClangTarget",
"name" : "RuntimeFix",
"path" : "Sources/RuntimeFix",
"product_memberships" : [
"RuntimeKit"
],
"sources" : [
"RuntimeFix.m"
],
"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
[1/3] Write swift-version-2F0A5646E1D333AE.txt
[2/3] Compiling RuntimeFix RuntimeFix.m
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/24] Emitting module RuntimeKit
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:34:12: error: type 'ObjCClass.Ivars' does not conform to protocol 'RuntimeClassFuncs'
32 | public extension ObjCClass {
33 |
34 | struct Ivars: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Ivars' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
35 | public let cls: ObjCClass
36 |
:
51 | }
52 |
53 | public static let keyPath = \ObjCClass.ivars
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Ivars>> & Sendable'
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Ivars>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Ivars>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:56:12: error: type 'ObjCClass.Properties' does not conform to protocol 'RuntimeClassFuncs'
54 | }
55 |
56 | struct Properties: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Properties' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
57 | public let cls: ObjCClass
58 |
:
73 | }
74 |
75 | public static let keyPath = \ObjCClass.properties
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Properties>> & Sendable'
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Properties>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Properties>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:78:12: error: type 'ObjCClass.Methods' does not conform to protocol 'RuntimeClassFuncs'
76 | }
77 |
78 | struct Methods: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Methods' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
79 | public let cls: ObjCClass
80 |
:
95 | }
96 |
97 | public static let keyPath = \ObjCClass.methods
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Methods>> & Sendable'
98 | }
99 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Methods>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Methods>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:100:12: error: type 'ObjCClass.Protocols' does not conform to protocol 'RuntimeClassFuncs'
98 | }
99 |
100 | struct Protocols: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Protocols' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
101 | public let cls: ObjCClass
102 |
:
118 | }
119 |
120 | public static let keyPath = \ObjCClass.protocols
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Protocols>> & Sendable'
121 | }
122 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Protocols>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Protocols>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/Utils/TypeEncoding.swift:69:23: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'TypeEncoding' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// Even the runtime fails to parse these encodings correctly. Since commas are used to delimit property attributes,
20 | /// this also causes functions like `property_copyAttributeValue` to not work.
21 | public indirect enum TypeEncoding: Equatable {
| `- note: consider making enum 'TypeEncoding' conform to the 'Sendable' protocol
22 | // Standard scalars
23 | case char
:
67 | case empty
68 |
69 | public static let id = Self.object()
| |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'TypeEncoding' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |
71 | public static func `struct`(_ name: String, _ types: TypeEncoding...) -> Self {
[5/26] Compiling RuntimeKit TypeEncoding.swift
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/Utils/TypeEncoding.swift:69:23: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'TypeEncoding' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// Even the runtime fails to parse these encodings correctly. Since commas are used to delimit property attributes,
20 | /// this also causes functions like `property_copyAttributeValue` to not work.
21 | public indirect enum TypeEncoding: Equatable {
| `- note: consider making enum 'TypeEncoding' conform to the 'Sendable' protocol
22 | // Standard scalars
23 | case char
:
67 | case empty
68 |
69 | public static let id = Self.object()
| |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'TypeEncoding' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |
71 | public static func `struct`(_ name: String, _ types: TypeEncoding...) -> Self {
[6/26] Compiling RuntimeKit UnsafeBuffer+Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/Utils/TypeEncoding.swift:69:23: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'TypeEncoding' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// Even the runtime fails to parse these encodings correctly. Since commas are used to delimit property attributes,
20 | /// this also causes functions like `property_copyAttributeValue` to not work.
21 | public indirect enum TypeEncoding: Equatable {
| `- note: consider making enum 'TypeEncoding' conform to the 'Sendable' protocol
22 | // Standard scalars
23 | case char
:
67 | case empty
68 |
69 | public static let id = Self.object()
| |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'TypeEncoding' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |
71 | public static func `struct`(_ name: String, _ types: TypeEncoding...) -> Self {
[7/26] Compiling RuntimeKit ObjCProperty.swift
[8/26] Compiling RuntimeKit ObjCProtocol+Create.swift
[9/26] Compiling RuntimeKit RuntimeFuncs.swift
[10/26] Compiling RuntimeKit RuntimeList.swift
[11/26] Compiling RuntimeKit ObjCProtocol+RuntimeFuncs.swift
[12/26] Compiling RuntimeKit ObjCProtocol.swift
[13/26] Compiling RuntimeKit ObjCMethod.swift
[14/26] Compiling RuntimeKit ObjCProperty.Attributes.swift
[15/26] Compiling RuntimeKit ObjCClass.swift
[16/26] Compiling RuntimeKit ObjCIvar.swift
[17/26] Compiling RuntimeKit ObjCClass+Protocols.swift
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:34:12: error: type 'ObjCClass.Ivars' does not conform to protocol 'RuntimeClassFuncs'
32 | public extension ObjCClass {
33 |
34 | struct Ivars: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Ivars' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
35 | public let cls: ObjCClass
36 |
:
51 | }
52 |
53 | public static let keyPath = \ObjCClass.ivars
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Ivars>> & Sendable'
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Ivars>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Ivars>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:56:12: error: type 'ObjCClass.Properties' does not conform to protocol 'RuntimeClassFuncs'
54 | }
55 |
56 | struct Properties: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Properties' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
57 | public let cls: ObjCClass
58 |
:
73 | }
74 |
75 | public static let keyPath = \ObjCClass.properties
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Properties>> & Sendable'
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Properties>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Properties>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:78:12: error: type 'ObjCClass.Methods' does not conform to protocol 'RuntimeClassFuncs'
76 | }
77 |
78 | struct Methods: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Methods' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
79 | public let cls: ObjCClass
80 |
:
95 | }
96 |
97 | public static let keyPath = \ObjCClass.methods
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Methods>> & Sendable'
98 | }
99 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Methods>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Methods>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:100:12: error: type 'ObjCClass.Protocols' does not conform to protocol 'RuntimeClassFuncs'
98 | }
99 |
100 | struct Protocols: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Protocols' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
101 | public let cls: ObjCClass
102 |
:
118 | }
119 |
120 | public static let keyPath = \ObjCClass.protocols
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Protocols>> & Sendable'
121 | }
122 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Protocols>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Protocols>>'
50 | }
51 |
[18/26] Compiling RuntimeKit ObjCClass+RuntimeFuncs.swift
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:34:12: error: type 'ObjCClass.Ivars' does not conform to protocol 'RuntimeClassFuncs'
32 | public extension ObjCClass {
33 |
34 | struct Ivars: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Ivars' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
35 | public let cls: ObjCClass
36 |
:
51 | }
52 |
53 | public static let keyPath = \ObjCClass.ivars
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Ivars>> & Sendable'
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Ivars>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Ivars>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:56:12: error: type 'ObjCClass.Properties' does not conform to protocol 'RuntimeClassFuncs'
54 | }
55 |
56 | struct Properties: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Properties' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
57 | public let cls: ObjCClass
58 |
:
73 | }
74 |
75 | public static let keyPath = \ObjCClass.properties
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Properties>> & Sendable'
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Properties>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Properties>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:78:12: error: type 'ObjCClass.Methods' does not conform to protocol 'RuntimeClassFuncs'
76 | }
77 |
78 | struct Methods: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Methods' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
79 | public let cls: ObjCClass
80 |
:
95 | }
96 |
97 | public static let keyPath = \ObjCClass.methods
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Methods>> & Sendable'
98 | }
99 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Methods>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Methods>>'
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/ObjCClass+RuntimeFuncs.swift:100:12: error: type 'ObjCClass.Protocols' does not conform to protocol 'RuntimeClassFuncs'
98 | }
99 |
100 | struct Protocols: RuntimeClassFuncs {
| |- error: type 'ObjCClass.Protocols' does not conform to protocol 'RuntimeClassFuncs'
| `- note: add stubs for conformance
101 | public let cls: ObjCClass
102 |
:
118 | }
119 |
120 | public static let keyPath = \ObjCClass.protocols
| `- note: candidate has non-matching type 'any KeyPath<ObjCClass, RuntimeList<ObjCClass.Protocols>> & Sendable'
121 | }
122 |
/Users/admin/builder/spi-builder-workspace/Sources/RuntimeKit/RuntimeList/RuntimeFuncs.swift:49:16: note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Protocols>>'
47 | ///
48 | /// - Note: Making this non-static adds a ton of retain/release calls.
49 | static var keyPath: KeyPath<ObjCClass, RuntimeList<Self>> { get }
| `- note: protocol requires property 'keyPath' with type 'KeyPath<ObjCClass, RuntimeList<ObjCClass.Protocols>>'
50 | }
51 |
[19/26] Compiling RuntimeKit MethodTypeEncodings.swift
[20/26] Compiling RuntimeKit Substring+ParseType.swift
[21/26] Compiling RuntimeKit ObjCClass+Ivars.swift
[22/26] Compiling RuntimeKit ObjCClass+Methods.swift
[23/26] Compiling RuntimeKit ObjCClass+Properties.swift
[24/26] Compiling RuntimeKit Invocation.swift
[25/26] Compiling RuntimeKit MethodSignature.swift
[26/26] Compiling RuntimeKit ObjCClass+Create.swift
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/22] Emitting module RuntimeKit
[3/24] Compiling RuntimeKit ObjCProtocol+RuntimeFuncs.swift
[4/24] Compiling RuntimeKit ObjCProtocol.swift
[5/24] Compiling RuntimeKit ObjCProperty.swift
[6/24] Compiling RuntimeKit ObjCProtocol+Create.swift
[7/24] Compiling RuntimeKit RuntimeFuncs.swift
[8/24] Compiling RuntimeKit RuntimeList.swift
[9/24] Compiling RuntimeKit Invocation.swift
[10/24] Compiling RuntimeKit MethodSignature.swift
[11/24] Compiling RuntimeKit ObjCClass+Create.swift
[12/24] Compiling RuntimeKit ObjCClass+Protocols.swift
[13/24] Compiling RuntimeKit ObjCClass+RuntimeFuncs.swift
[14/24] Compiling RuntimeKit ObjCMethod.swift
[15/24] Compiling RuntimeKit ObjCProperty.Attributes.swift
[16/24] Compiling RuntimeKit ObjCClass+Ivars.swift
[17/24] Compiling RuntimeKit ObjCClass+Methods.swift
[18/24] Compiling RuntimeKit ObjCClass+Properties.swift
[19/24] Compiling RuntimeKit MethodTypeEncodings.swift
[20/24] Compiling RuntimeKit Substring+ParseType.swift
[21/24] Compiling RuntimeKit ObjCClass.swift
[22/24] Compiling RuntimeKit ObjCIvar.swift
[23/24] Compiling RuntimeKit TypeEncoding.swift
[24/24] Compiling RuntimeKit UnsafeBuffer+Utils.swift
Build complete! (1.77s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "RuntimeKit",
"name" : "RuntimeKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "RuntimeKit",
"targets" : [
"RuntimeKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "RuntimeKitTests",
"module_type" : "SwiftTarget",
"name" : "RuntimeKitTests",
"path" : "Tests/RuntimeKitTests",
"sources" : [
"AttributesTests.swift",
"Invocation/InvocationTests.swift",
"Invocation/MethodSignatureTests.swift",
"ObjCClassTests.swift",
"ProtocolTests.swift",
"Utils/TypeEncodingTests.swift"
],
"target_dependencies" : [
"RuntimeKit"
],
"type" : "test"
},
{
"c99name" : "RuntimeKit",
"module_type" : "SwiftTarget",
"name" : "RuntimeKit",
"path" : "Sources/RuntimeKit",
"product_memberships" : [
"RuntimeKit"
],
"sources" : [
"Invocation/Invocation.swift",
"Invocation/MethodSignature.swift",
"ObjCClass+Create.swift",
"ObjCClass+Ivars.swift",
"ObjCClass+Methods.swift",
"ObjCClass+Properties.swift",
"ObjCClass+Protocols.swift",
"ObjCClass+RuntimeFuncs.swift",
"ObjCClass.swift",
"ObjCIvar.swift",
"ObjCMethod.swift",
"ObjCProperty.Attributes.swift",
"ObjCProperty.swift",
"ObjCProtocol+Create.swift",
"ObjCProtocol+RuntimeFuncs.swift",
"ObjCProtocol.swift",
"RuntimeList/RuntimeFuncs.swift",
"RuntimeList/RuntimeList.swift",
"Utils/MethodTypeEncodings.swift",
"Utils/Substring+ParseType.swift",
"Utils/TypeEncoding.swift",
"Utils/UnsafeBuffer+Utils.swift"
],
"target_dependencies" : [
"RuntimeFix"
],
"type" : "library"
},
{
"c99name" : "RuntimeFix",
"module_type" : "ClangTarget",
"name" : "RuntimeFix",
"path" : "Sources/RuntimeFix",
"product_memberships" : [
"RuntimeKit"
],
"sources" : [
"RuntimeFix.m"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/nicked/runtimekit/main
Repository: nicked/RuntimeKit
Swift version used: 6.1
Target: RuntimeKit
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
* branch 4633b45fc732d8c55568be09dd852f9dc1582c25 -> FETCH_HEAD
HEAD is now at 4633b45 Update the artifact
Cloned https://github.com/swiftlang/swift-docc-render-artifact
Extracting symbol information for 'RuntimeKit'...
Finished extracting symbol information for 'RuntimeKit'. (2.07s)
Building documentation for 'RuntimeKit'...
warning: Parameter 'imp' is missing documentation
--> Sources/RuntimeKit/ObjCClass+Methods.swift:30:118-30:118
28 | /// To add a class method, call `self.classMethods.add(with:types:imp:canReplace:)`.
29 | /// - Returns: Returns `false` if a method with the same name already exists and `canReplace` was not set.
30 + /// - Parameter types: The full method encoding including the return type, receiver, selector and argument types.
| ╰─suggestion: Document 'imp' parameter
31 | /// - Returns: Returns `false` if a method with the same name already exists and `canReplace` was not set.
32 | func add(with selector: Selector, types: MethodTypeEncodings, imp: IMP, canReplace: Bool = false) -> Bool {
warning: Parameter 'selector' is missing documentation
--> Sources/RuntimeKit/ObjCClass+Methods.swift:30:118-30:118
28 | /// To add a class method, call `self.classMethods.add(with:types:imp:canReplace:)`.
29 | /// - Returns: Returns `false` if a method with the same name already exists and `canReplace` was not set.
30 + /// - Parameter types: The full method encoding including the return type, receiver, selector and argument types.
| ╰─suggestion: Document 'selector' parameter
31 | /// - Returns: Returns `false` if a method with the same name already exists and `canReplace` was not set.
32 | func add(with selector: Selector, types: MethodTypeEncodings, imp: IMP, canReplace: Bool = false) -> Bool {
warning: Parameter 'canReplace' is missing documentation
--> Sources/RuntimeKit/ObjCClass+Methods.swift:30:118-30:118
28 | /// To add a class method, call `self.classMethods.add(with:types:imp:canReplace:)`.
29 | /// - Returns: Returns `false` if a method with the same name already exists and `canReplace` was not set.
30 + /// - Parameter types: The full method encoding including the return type, receiver, selector and argument types.
| ╰─suggestion: Document 'canReplace' parameter
31 | /// - Returns: Returns `false` if a method with the same name already exists and `canReplace` was not set.
32 | func add(with selector: Selector, types: MethodTypeEncodings, imp: IMP, canReplace: Bool = false) -> Bool {
warning: Parameter 'canReplace' is missing documentation
--> Sources/RuntimeKit/ObjCClass+Methods.swift:47:59-47:59
45 | /// - Parameter types: The full method encoding including the return type, receiver, selector and argument types.
46 | /// - Parameter block: A closure that accepts an instance of this class (the receiver) as the first argument.
47 + /// It must be declared with `@convention(block)`.
| ╰─suggestion: Document 'canReplace' parameter
48 | /// - Returns: Returns `false` if a method with the same name already exists and `canReplace` was not set.
49 | func add(with selector: Selector, types: MethodTypeEncodings, block: Any, canReplace: Bool = false) -> Bool {
warning: Parameter 'selector' is missing documentation
--> Sources/RuntimeKit/ObjCClass+Methods.swift:47:59-47:59
45 | /// - Parameter types: The full method encoding including the return type, receiver, selector and argument types.
| ╰─suggestion: Document 'selector' parameter
46 | /// - Parameter block: A closure that accepts an instance of this class (the receiver) as the first argument.
47 + /// It must be declared with `@convention(block)`.
48 | /// - Returns: Returns `false` if a method with the same name already exists and `canReplace` was not set.
49 | func add(with selector: Selector, types: MethodTypeEncodings, block: Any, canReplace: Bool = false) -> Bool {
warning: Parameter 'other' is missing documentation
--> Sources/RuntimeKit/ObjCClass.swift:119:130-119:130
117 |
118 | /// Returns a Boolean value that indicates whether the receiving class is a subclass of a given class.
119 + /// - Parameter directOnly: Whether to test for a direct subclass relationship only or to also include ancestor superclasses.
| ╰─suggestion: Document 'other' parameter
120 | func isSubclass(of other: ObjCClass, directOnly: Bool = false) -> Bool {
121 | if directOnly {
Finished building documentation for 'RuntimeKit' (0.23s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/nicked/runtimekit/main
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.68s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.5 (3.00s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.82s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.46s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.5
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write sources
[2/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Compiling Snippets Snippet.swift
[7/53] Emitting module Snippets
[8/53] Compiling Snippets SnippetParser.swift
[9/53] Compiling SymbolKit Identifier.swift
[10/53] Compiling SymbolKit KindIdentifier.swift
[11/53] Compiling SymbolKit Location.swift
[12/53] Compiling SymbolKit Mutability.swift
[13/57] Compiling SymbolKit Mixin+Equals.swift
[14/57] Compiling SymbolKit Mixin+Hash.swift
[15/57] Compiling SymbolKit Mixin.swift
[16/57] Compiling SymbolKit LineList.swift
[17/57] Compiling SymbolKit Position.swift
[18/57] Compiling SymbolKit Relationship.swift
[19/57] Compiling SymbolKit RelationshipKind.swift
[20/57] Compiling SymbolKit SourceOrigin.swift
[21/57] Compiling SymbolKit GenericConstraints.swift
[22/57] Compiling SymbolKit Swift.swift
[23/57] Compiling SymbolKit SourceRange.swift
[24/57] Compiling SymbolKit Metadata.swift
[25/57] Compiling SymbolKit Module.swift
[26/57] Compiling SymbolKit OperatingSystem.swift
[27/57] Compiling SymbolKit Platform.swift
[28/57] Emitting module SymbolKit
[29/57] Compiling SymbolKit DeclarationFragments.swift
[30/57] Compiling SymbolKit Fragment.swift
[31/57] Compiling SymbolKit FragmentKind.swift
[32/57] Compiling SymbolKit FunctionParameter.swift
[33/57] Compiling SymbolKit FunctionSignature.swift
[34/57] Compiling SymbolKit Names.swift
[35/57] Compiling SymbolKit SPI.swift
[36/57] Compiling SymbolKit Snippet.swift
[37/57] Compiling SymbolKit Extension.swift
[38/57] Compiling SymbolKit SemanticVersion.swift
[39/57] Compiling SymbolKit AccessControl.swift
[40/57] Compiling SymbolKit Availability.swift
[41/57] Compiling SymbolKit AvailabilityItem.swift
[42/57] Compiling SymbolKit Domain.swift
[43/57] Compiling SymbolKit Symbol.swift
[44/57] Compiling SymbolKit SymbolKind.swift
[45/57] Compiling SymbolKit SymbolGraph.swift
[46/57] Compiling SymbolKit GraphCollector.swift
[47/57] Compiling SymbolKit GenericConstraint.swift
[48/57] Compiling SymbolKit GenericParameter.swift
[49/57] Compiling SymbolKit Generics.swift
[50/57] Compiling SymbolKit Namespace.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.35s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
Build of target: 'RuntimeKit' complete! (0.23s)
628
5 /Users/admin/builder/spi-builder-workspace/.docs/nicked/runtimekit/main
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/nicked/runtimekit/main
File count: 628
Doc size: 5.0MB
Preparing doc bundle ...
Uploading prod-nicked-runtimekit-main-fcad2fed.zip to s3://spi-docs-inbox/prod-nicked-runtimekit-main-fcad2fed.zip
Copying... [13%]
Copying... [20%]
Copying... [34%]
Copying... [40%]
Copying... [54%]
Copying... [60%]
Copying... [74%]
Copying... [81%]
Copying... [94%]
Copying... [100%]
Done.