The Swift Package Index logo.Swift Package Index

Build Information

Successful build of KVObserver, reference 0.10.0-alpha.1 (6813a8), with Swift 6.4 for macOS (SPM) on 19 Sep 2026 21:34:13 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Frizlab/KVObserver.git
Reference: 0.10.0-alpha.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Frizlab/KVObserver
 * tag               0.10.0-alpha.1 -> FETCH_HEAD
HEAD is now at 6813a8c Create a KVTreeObserver
Cloned https://github.com/Frizlab/KVObserver.git
Revision (git rev-parse @):
6813a8cf1fe0e72910dd9eb9c643d15d30145a0a
SUCCESS checkout https://github.com/Frizlab/KVObserver.git at 0.10.0-alpha.1
========================================
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! (6.93 sec)
/Users/admin/builder/spi-builder-workspace/Sources/KVObserver/KVTreeObserver.swift:77:137: warning: 'unowned' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
 63 | 		let kvoOptions = kvoOptions.union(.initial)
 64 |
 65 | 		let observeKey = { [level] (_ keyAndSubKeys: (String, Set<[String]>)) -> KVObserver.ObservingId in
    |                    |- note: 'self' implicitly strongly captured here
    |                    `- note: add 'self' as a capture list item to silence
 66 | 			let (key, subKeysIncludingEmtpy) = keyAndSubKeys
 67 | 			let subKeys = subKeysIncludingEmtpy.filter{ !$0.isEmpty }
    :
 75 | 				key, subKeys, "\(type(of: observed))", observed, level
 76 | 			)
 77 | 			let ret = self.kvObserver.observe(object: observed, keyPath: key, kvoOptions: kvoOptions, dispatchType: .direct, handler: { [unowned self, unowned observed] (_ changes: [NSKeyValueChangeKey: Any]?) in
    |                                                                                                                                         |- warning: 'unowned' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
    |                                                                                                                                         `- note: explicitly assign the capture list item to silence
 78 | 				defer {isInitial = false}
 79 | 				guard ((observed as? NSManagedObject).map{ $0.faultingState == 0 } ?? true) else {
/Users/admin/builder/spi-builder-workspace/Sources/KVObserver/KVTreeObserver.swift:77:151: warning: 'unowned' ownership of capture 'observed' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
 63 | 		let kvoOptions = kvoOptions.union(.initial)
 64 |
 65 | 		let observeKey = { [level] (_ keyAndSubKeys: (String, Set<[String]>)) -> KVObserver.ObservingId in
    |                    |- note: 'observed' implicitly strongly captured here
    |                    `- note: add 'observed' as a capture list item to silence
 66 | 			let (key, subKeysIncludingEmtpy) = keyAndSubKeys
 67 | 			let subKeys = subKeysIncludingEmtpy.filter{ !$0.isEmpty }
    :
 75 | 				key, subKeys, "\(type(of: observed))", observed, level
 76 | 			)
 77 | 			let ret = self.kvObserver.observe(object: observed, keyPath: key, kvoOptions: kvoOptions, dispatchType: .direct, handler: { [unowned self, unowned observed] (_ changes: [NSKeyValueChangeKey: Any]?) in
    |                                                                                                                                                       |- warning: 'unowned' ownership of capture 'observed' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
    |                                                                                                                                                       `- note: explicitly assign the capture list item to silence
 78 | 				defer {isInitial = false}
 79 | 				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.