Build Information
Successful build of KVObserver, reference main (478e51), with Swift 6.4 for macOS (SPM) on 19 Sep 2026 21:35:35 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Frizlab/KVObserver.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Frizlab/KVObserver
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 478e517 Dummy comment fixes
Cloned https://github.com/Frizlab/KVObserver.git
Revision (git rev-parse @):
478e517176a7c6e3c4ae524079a28a1ab7d602db
SUCCESS checkout https://github.com/Frizlab/KVObserver.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/Frizlab/KVObserver.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Planning deferred tasks]
[19 / 28]
[20 / 29] KVObserver
[30 / 70]
[35 / 70]
[39 / 70]
[40 / 70]
[44 / 70]
[46 / 70]
[49 / 70]
[53 / 70]
[55 / 70]
[56 / 70]
[61 / 70] KVObserver
[67 / 70] KVObserver
Build complete! (7.10 sec)
/Users/admin/builder/spi-builder-workspace/Sources/KVObserver/KVTreeObserver.swift:77:137: [1;33mwarning: [1;39m'unowned' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m63 |[0;0m let kvoOptions = kvoOptions.union(.initial)
[0;36m64 |[0;0m
[0;36m65 |[0;0m let observeKey = { [level] (_ keyAndSubKeys: (String, Set<[String]>)) -> KVObserver.ObservingId in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m66 |[0;0m let (key, subKeysIncludingEmtpy) = keyAndSubKeys
[0;36m67 |[0;0m let subKeys = subKeysIncludingEmtpy.filter{ !$0.isEmpty }
[0;36m:[0;0m
[0;36m75 |[0;0m key, subKeys, "\(type(of: observed))", observed, level
[0;36m76 |[0;0m )
[0;36m77 |[0;0m let ret = self.kvObserver.observe(object: observed, keyPath: key, kvoOptions: kvoOptions, dispatchType: .direct, handler: { [unowned self, unowned observed] (_ changes: [NSKeyValueChangeKey: Any]?) in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'unowned' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m78 |[0;0m defer {isInitial = false}
[0;36m79 |[0;0m guard ((observed as? NSManagedObject).map{ $0.faultingState == 0 } ?? true) else {
/Users/admin/builder/spi-builder-workspace/Sources/KVObserver/KVTreeObserver.swift:77:151: [1;33mwarning: [1;39m'unowned' ownership of capture 'observed' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m63 |[0;0m let kvoOptions = kvoOptions.union(.initial)
[0;36m64 |[0;0m
[0;36m65 |[0;0m let observeKey = { [level] (_ keyAndSubKeys: (String, Set<[String]>)) -> KVObserver.ObservingId in
[0;36m|[0;0m |- [1;39mnote: [1;39m'observed' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'observed' as a capture list item to silence[0;0m
[0;36m66 |[0;0m let (key, subKeysIncludingEmtpy) = keyAndSubKeys
[0;36m67 |[0;0m let subKeys = subKeysIncludingEmtpy.filter{ !$0.isEmpty }
[0;36m:[0;0m
[0;36m75 |[0;0m key, subKeys, "\(type(of: observed))", observed, level
[0;36m76 |[0;0m )
[0;36m77 |[0;0m let ret = self.kvObserver.observe(object: observed, keyPath: key, kvoOptions: kvoOptions, dispatchType: .direct, handler: { [unowned self, unowned observed] (_ changes: [NSKeyValueChangeKey: Any]?) in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'unowned' ownership of capture 'observed' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m78 |[0;0m defer {isInitial = false}
[0;36m79 |[0;0m guard ((observed as? NSManagedObject).map{ $0.faultingState == 0 } ?? true) else {
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "KVObserver",
"name" : "KVObserver",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "KVObserver",
"targets" : [
"KVObserver"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "KVObserverTests",
"module_type" : "SwiftTarget",
"name" : "KVObserverTests",
"path" : "Tests/KVObserverTests",
"sources" : [
"Helpers/AutoObservedNSManagedObject.swift",
"Helpers/AutoObservedObject.swift",
"Helpers/ObservedObject.swift",
"KVObserverTests.swift"
],
"target_dependencies" : [
"KVObserver"
],
"type" : "test"
},
{
"c99name" : "KVObserver",
"module_type" : "SwiftTarget",
"name" : "KVObserver",
"path" : "Sources/KVObserver",
"product_memberships" : [
"KVObserver"
],
"sources" : [
"KVObserver.swift",
"KVTreeObserver.swift",
"Private/Loggers.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.