Build Information
Successful build of WebViewBundle, reference v0.3.0 (81c68c), with Swift 6.1 for macOS (SPM) on 13 Oct 2026 15:59:16 UTC.
Swift 6 data race errors: 3
Build Command
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 InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 5.1.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/webview-bundle/webview-bundle-ios.git
Reference: v0.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/webview-bundle/webview-bundle-ios
* tag v0.3.0 -> FETCH_HEAD
HEAD is now at 81c68c6 chore: upgrade ffi 0.3.0 (#6)
Cloned https://github.com/webview-bundle/webview-bundle-ios.git
Revision (git rev-parse @):
81c68c678ac856935ee0f8774fd729507a0ab8d7
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/webview-bundle/webview-bundle-ios.git at v0.3.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/webview-bundle/webview-bundle-ios.git
https://github.com/webview-bundle/webview-bundle-ios.git
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-docc-plugin"
}
],
"manifest_display_name" : "WebViewBundle",
"name" : "WebViewBundle",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "WebViewBundle",
"targets" : [
"WebViewBundle"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "WebViewBundleTests",
"module_type" : "SwiftTarget",
"name" : "WebViewBundleTests",
"path" : "Tests/WebViewBundleTests",
"sources" : [
"WebViewBundleTests.swift"
],
"target_dependencies" : [
"WebViewBundle"
],
"type" : "test"
},
{
"c99name" : "WebViewBundleFFI",
"module_type" : "BinaryTarget",
"name" : "WebViewBundleFFI",
"path" : "remote/archive/WebViewBundleFFI.xcframework.zip",
"product_memberships" : [
"WebViewBundle"
],
"sources" : [
],
"type" : "binary"
},
{
"c99name" : "WebViewBundle",
"module_type" : "SwiftTarget",
"name" : "WebViewBundle",
"path" : "Sources/WebViewBundle",
"product_memberships" : [
"WebViewBundle"
],
"sources" : [
"Bridge.swift",
"BridgeCodec.swift",
"BridgeError.swift",
"BridgePayloads.swift",
"Conversions.swift",
"Log.swift",
"RequestHandler.swift",
"Source.swift",
"WebViewBundle.swift",
"WebViewBundleBridge.swift",
"WebViewBundleLibrary.swift",
"WebViewBundleProtocol.swift",
"WebViewBundleSchemeHandler.swift"
],
"target_dependencies" : [
"WebViewBundleFFI"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
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
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/5] Copying libwvb_ffi.a
[2/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/18] Compiling WebViewBundle WebViewBundleBridge.swift
[7/19] Compiling WebViewBundle WebViewBundleProtocol.swift
[8/19] Compiling WebViewBundle WebViewBundleLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebViewBundle/WebViewBundleLibrary.swift:2556:16: warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceProxyResolver>' may have shared mutable state; this is an error in the Swift 6 language mode
2554 | // Rust stores this pointer for future callback invocations, so it must live
2555 | // for the process lifetime (not just for the init function call).
2556 | static let vtablePtr: UnsafePointer<UniffiVTableCallbackInterfaceProxyResolver> = {
| |- warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceProxyResolver>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'vtablePtr' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2557 | let ptr = UnsafeMutablePointer<UniffiVTableCallbackInterfaceProxyResolver>.allocate(capacity: 1)
2558 | ptr.initialize(to: vtable)
Swift.UnsafePointer:1:23: note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/WebViewBundle/WebViewBundleLibrary.swift:2941:16: warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceRemoteOnDownload>' may have shared mutable state; this is an error in the Swift 6 language mode
2939 | // Rust stores this pointer for future callback invocations, so it must live
2940 | // for the process lifetime (not just for the init function call).
2941 | static let vtablePtr: UnsafePointer<UniffiVTableCallbackInterfaceRemoteOnDownload> = {
| |- warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceRemoteOnDownload>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'vtablePtr' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2942 | let ptr = UnsafeMutablePointer<UniffiVTableCallbackInterfaceRemoteOnDownload>.allocate(capacity: 1)
2943 | ptr.initialize(to: vtable)
Swift.UnsafePointer:1:23: note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/WebViewBundle/WebViewBundleLibrary.swift:3164:16: warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceSignatureCustomVerify>' may have shared mutable state; this is an error in the Swift 6 language mode
3162 | // Rust stores this pointer for future callback invocations, so it must live
3163 | // for the process lifetime (not just for the init function call).
3164 | static let vtablePtr: UnsafePointer<UniffiVTableCallbackInterfaceSignatureCustomVerify> = {
| |- warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceSignatureCustomVerify>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'vtablePtr' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
3165 | let ptr = UnsafeMutablePointer<UniffiVTableCallbackInterfaceSignatureCustomVerify>.allocate(capacity: 1)
3166 | ptr.initialize(to: vtable)
Swift.UnsafePointer:1:23: note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/WebViewBundle/WebViewBundleLibrary.swift:10358:21: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
10356 | droppedCallback: UnsafeMutablePointer<UniffiForeignFutureDroppedCallbackStruct>
10357 | ) {
10358 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
10359 | // Note: it's important we call either `handleSuccess` or `handleError` exactly once. Each
10360 | // call consumes an Arc reference, which means there should be no possibility of a double
:
10367 | var callResult: T
10368 | do {
10369 | callResult = try await makeCall()
| `- note: closure captures non-Sendable 'makeCall'
10370 | } catch {
10371 | handleError(CALL_UNEXPECTED_ERROR, FfiConverterString.lower(String(describing: error)))
| `- note: closure captures non-Sendable 'handleError'
10372 | return
10373 | }
10374 | handleSuccess(callResult)
| `- note: closure captures non-Sendable 'handleSuccess'
10375 | }
10376 | let handle = UNIFFI_FOREIGN_FUTURE_HANDLE_MAP.insert(obj: task)
/Users/admin/builder/spi-builder-workspace/Sources/WebViewBundle/WebViewBundleLibrary.swift:10390:21: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
10388 | droppedCallback: UnsafeMutablePointer<UniffiForeignFutureDroppedCallbackStruct>
10389 | ) {
10390 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
10391 | // See the note in uniffiTraitInterfaceCallAsync for details on `handleSuccess` and
10392 | // `handleError`.
10393 | var callResult: T
10394 | do {
10395 | callResult = try await makeCall()
| `- note: closure captures non-Sendable 'makeCall'
10396 | } catch let error as E {
10397 | handleError(CALL_ERROR, lowerError(error))
| | `- note: closure captures non-Sendable 'lowerError'
| `- note: closure captures non-Sendable 'handleError'
10398 | return
10399 | } catch {
:
10401 | return
10402 | }
10403 | handleSuccess(callResult)
| `- note: closure captures non-Sendable 'handleSuccess'
10404 | }
10405 | let handle = UNIFFI_FOREIGN_FUTURE_HANDLE_MAP.insert(obj: task)
[9/19] Compiling WebViewBundle WebViewBundleSchemeHandler.swift
[10/19] Compiling WebViewBundle RequestHandler.swift
[11/19] Compiling WebViewBundle Conversions.swift
[12/19] Compiling WebViewBundle Log.swift
[13/19] Compiling WebViewBundle Source.swift
[14/19] Compiling WebViewBundle WebViewBundle.swift
[15/19] Compiling WebViewBundle BridgeError.swift
[16/19] Compiling WebViewBundle BridgePayloads.swift
[17/19] Emitting module WebViewBundle
/Users/admin/builder/spi-builder-workspace/Sources/WebViewBundle/WebViewBundleLibrary.swift:2556:16: warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceProxyResolver>' may have shared mutable state; this is an error in the Swift 6 language mode
2554 | // Rust stores this pointer for future callback invocations, so it must live
2555 | // for the process lifetime (not just for the init function call).
2556 | static let vtablePtr: UnsafePointer<UniffiVTableCallbackInterfaceProxyResolver> = {
| |- warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceProxyResolver>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'vtablePtr' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2557 | let ptr = UnsafeMutablePointer<UniffiVTableCallbackInterfaceProxyResolver>.allocate(capacity: 1)
2558 | ptr.initialize(to: vtable)
Swift.UnsafePointer:1:23: note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/WebViewBundle/WebViewBundleLibrary.swift:2941:16: warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceRemoteOnDownload>' may have shared mutable state; this is an error in the Swift 6 language mode
2939 | // Rust stores this pointer for future callback invocations, so it must live
2940 | // for the process lifetime (not just for the init function call).
2941 | static let vtablePtr: UnsafePointer<UniffiVTableCallbackInterfaceRemoteOnDownload> = {
| |- warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceRemoteOnDownload>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'vtablePtr' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2942 | let ptr = UnsafeMutablePointer<UniffiVTableCallbackInterfaceRemoteOnDownload>.allocate(capacity: 1)
2943 | ptr.initialize(to: vtable)
Swift.UnsafePointer:1:23: note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/WebViewBundle/WebViewBundleLibrary.swift:3164:16: warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceSignatureCustomVerify>' may have shared mutable state; this is an error in the Swift 6 language mode
3162 | // Rust stores this pointer for future callback invocations, so it must live
3163 | // for the process lifetime (not just for the init function call).
3164 | static let vtablePtr: UnsafePointer<UniffiVTableCallbackInterfaceSignatureCustomVerify> = {
| |- warning: static property 'vtablePtr' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<UniffiVTableCallbackInterfaceSignatureCustomVerify>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'vtablePtr' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
3165 | let ptr = UnsafeMutablePointer<UniffiVTableCallbackInterfaceSignatureCustomVerify>.allocate(capacity: 1)
3166 | ptr.initialize(to: vtable)
Swift.UnsafePointer:1:23: note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
[18/19] Compiling WebViewBundle Bridge.swift
[19/19] Compiling WebViewBundle BridgeCodec.swift
Build complete! (25.66s)
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.82s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (4.09s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.00s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.70s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
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
Downloading binary artifact https://github.com/webview-bundle/webview-bundle/releases/download/ffi/0.3.0/WebViewBundleFFI.xcframework.zip
[16375/27216830] Downloading https://github.com/webview-bundle/webview-bundle/releases/download/ffi/0.3.0/WebViewBundleFFI.xcframework.zip
Downloaded https://github.com/webview-bundle/webview-bundle/releases/download/ffi/0.3.0/WebViewBundleFFI.xcframework.zip (1.51s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-docc-plugin"
}
],
"manifest_display_name" : "WebViewBundle",
"name" : "WebViewBundle",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "WebViewBundle",
"targets" : [
"WebViewBundle"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "WebViewBundleTests",
"module_type" : "SwiftTarget",
"name" : "WebViewBundleTests",
"path" : "Tests/WebViewBundleTests",
"sources" : [
"WebViewBundleTests.swift"
],
"target_dependencies" : [
"WebViewBundle"
],
"type" : "test"
},
{
"c99name" : "WebViewBundleFFI",
"module_type" : "BinaryTarget",
"name" : "WebViewBundleFFI",
"path" : "remote/archive/WebViewBundleFFI.xcframework.zip",
"product_memberships" : [
"WebViewBundle"
],
"sources" : [
],
"type" : "binary"
},
{
"c99name" : "WebViewBundle",
"module_type" : "SwiftTarget",
"name" : "WebViewBundle",
"path" : "Sources/WebViewBundle",
"product_memberships" : [
"WebViewBundle"
],
"sources" : [
"Bridge.swift",
"BridgeCodec.swift",
"BridgeError.swift",
"BridgePayloads.swift",
"Conversions.swift",
"Log.swift",
"RequestHandler.swift",
"Source.swift",
"WebViewBundle.swift",
"WebViewBundleBridge.swift",
"WebViewBundleLibrary.swift",
"WebViewBundleProtocol.swift",
"WebViewBundleSchemeHandler.swift"
],
"target_dependencies" : [
"WebViewBundleFFI"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
Done.