Build Information
Successful build of swift-spyable, reference 0.9.0 (5ee55d), with Swift 6.4 for Wasm on 22 Sep 2026 13:54:41 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886769-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Matejkob/swift-spyable.git
Reference: 0.9.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/Matejkob/swift-spyable
* tag 0.9.0 -> FETCH_HEAD
HEAD is now at 5ee55d3 Merge pull request #143 from Matejkob/create-pull-request/patch
Cloned https://github.com/Matejkob/swift-spyable.git
Revision (git rev-parse @):
5ee55d370fcbd1c4f5f29932876799c16e9647c4
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/Matejkob/swift-spyable.git at 0.9.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/Matejkob/swift-spyable.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Fetching https://github.com/swiftlang/swift-syntax
[1/80003] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax (2.97s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 601.0.1 (4.15s)
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 601.0.1
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 562]
[Planning deferred tasks]
[7 / 235]
[127 / 247]
[152 / 257] SwiftSyntax
[159 / 259] SwiftSyntax510
[163 / 260] SwiftSyntax
[163 / 260] SwiftSyntax509
[168 / 261] SwiftSyntax
[180 / 289] SwiftBasicFormat
[182 / 289] SwiftBasicFormat
[185 / 289] SwiftDiagnostics
[191 / 289] SwiftBasicFormat
[196 / 289] SwiftParser
[198 / 289] SwiftParser
[203 / 289] SwiftParser
[205 / 289] SwiftDiagnostics
[206 / 289] SwiftDiagnostics
[207 / 289] SwiftDiagnostics
[208 / 289] SwiftOperators
[211 / 289] SwiftDiagnostics
[213 / 289] SwiftParser
[216 / 289] SwiftBasicFormat
[216 / 289]
[223 / 310] SwiftOperators
[224 / 311] SwiftParserDiagnostics
[225 / 312] SwiftParserDiagnostics
[227 / 312] SwiftParserDiagnostics
[230 / 312] SwiftParserDiagnostics
[239 / 312] SwiftSyntaxBuilder
[240 / 312] SwiftSyntaxBuilder
[245 / 312] SwiftOperators
[246 / 312] SwiftOperators
[249 / 312] SwiftOperators
[253 / 313] SwiftSyntaxBuilder
[255 / 322] SwiftSyntaxBuilder
[256 / 322] SwiftSyntaxBuilder
[258 / 323] SwiftSyntaxBuilder
[259 / 324] SwiftSyntaxBuilder
[261 / 324] SwiftSyntaxBuilder
[267 / 324] SwiftSyntaxBuilder
[272 / 326] SwiftSyntaxMacros
[274 / 334] SwiftSyntaxMacros
[279 / 334] SwiftSyntaxMacros
[286 / 334] SwiftSyntaxMacros-product
[295 / 346] SwiftSyntaxMacros
[299 / 346] SwiftSyntaxMacroExpansion
[309 / 356] SwiftCompilerPluginMessageHandling
[310 / 356] SwiftSyntaxMacroExpansion
[314 / 356] SwiftCompilerPluginMessageHandling
[315 / 356] SwiftCompilerPluginMessageHandling
[324 / 359] SwiftCompilerPlugin
[328 / 359] SwiftSyntaxMacroExpansion
[331 / 361] SwiftCompilerPlugin
[332 / 361] SwiftCompilerPluginMessageHandling
[334 / 362] SwiftSyntax
[337 / 363] SwiftSyntax
[344 / 363] SwiftSyntaxMacros
[352 / 364] SpyableMacro
[361 / 373] SpyableMacro
[362 / 373] SpyableMacro
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/SpyFactory.swift:161:62: [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m159 |[0;0m }
[0;36m160 |[0;0m
[0;36m161 |[0;0m if functionDeclaration.signature.effectSpecifiers?.throwsSpecifier != nil {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m162 |[0;0m try throwableErrorFactory.variableDeclaration(variablePrefix: variablePrefix)
[0;36m163 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:49:29: [1;33mwarning: [1;39m'init(leadingTrivia:_:asyncSpecifier:_:throwsSpecifier:_:trailingTrivia:)' is deprecated: use throwsClause instead of throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m47 |[0;0m }
[0;36m48 |[0;0m },
[0;36m49 |[0;0m effectSpecifiers: TypeEffectSpecifiersSyntax(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'init(leadingTrivia:_:asyncSpecifier:_:throwsSpecifier:_:trailingTrivia:)' is deprecated: use throwsClause instead of throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m asyncSpecifier: functionSignature.effectSpecifiers?.asyncSpecifier,
[0;36m51 |[0;0m throwsSpecifier: functionSignature.effectSpecifiers?.throwsSpecifier
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:51:66: [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m49 |[0;0m effectSpecifiers: TypeEffectSpecifiersSyntax(
[0;36m50 |[0;0m asyncSpecifier: functionSignature.effectSpecifiers?.asyncSpecifier,
[0;36m51 |[0;0m throwsSpecifier: functionSignature.effectSpecifiers?.throwsSpecifier
[0;36m|[0;0m `- [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m52 |[0;0m ),
[0;36m53 |[0;0m returnClause: returnClause
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:169:44: [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m167 |[0;0m }
[0;36m168 |[0;0m
[0;36m169 |[0;0m if functionSignature.effectSpecifiers?.throwsSpecifier != nil {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m170 |[0;0m expression = TryExprSyntax(expression: expression)
[0;36m171 |[0;0m }
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:192:22: [1;33mwarning: [1;39m'specifier' is deprecated: Access the specifiers list instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m190 |[0;0m fileprivate var isInoutParameter: Bool {
[0;36m191 |[0;0m if let attributedType = self.type.as(AttributedTypeSyntax.self),
[0;36m192 |[0;0m attributedType.specifier?.text == TokenSyntax.keyword(.inout).text
[0;36m|[0;0m `- [1;33mwarning: [1;39m'specifier' is deprecated: Access the specifiers list instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m193 |[0;0m {
[0;36m194 |[0;0m return true
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/FunctionImplementationFactory.swift:90:66: [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m88 |[0;0m }
[0;36m89 |[0;0m
[0;36m90 |[0;0m if protocolFunctionDeclaration.signature.effectSpecifiers?.throwsSpecifier != nil {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m91 |[0;0m throwableErrorFactory.throwErrorExpression(variablePrefix: variablePrefix)
[0;36m92 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/host/spi-builder-workspace/Sources/SpyableMacro/Extensions/TypeSyntax+Extensions.swift:137:32: [1;33mwarning: [1;39m'init(leadingTrivia:_:argument:_:trailingComma:_:trailingTrivia:)' is deprecated: use GenericArgumentSyntax.Argument for 'argument'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m135 |[0;0m let newArgument: TypeSyntax = argumentElement.argument.erasingGenericTypes(genericTypes)
[0;36m136 |[0;0m #endif
[0;36m137 |[0;0m let newArgumentElement = GenericArgumentSyntax(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'init(leadingTrivia:_:argument:_:trailingComma:_:trailingTrivia:)' is deprecated: use GenericArgumentSyntax.Argument for 'argument'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m138 |[0;0m argument: newArgument,
[0;36m139 |[0;0m trailingComma: argumentElement.trailingComma
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/VariablesImplementationFactory.swift:71:12: [1;33mwarning: [1;39mcode after 'throw' will never be executed[0;0m
[0;36m69 |[0;0m try underlyingVariableDeclaration(binding: binding)
[0;36m70 |[0;0m }
[0;36m71 |[0;0m } else {
[0;36m|[0;0m `- [1;33mwarning: [1;39mcode after 'throw' will never be executed[0;0m
[0;36m72 |[0;0m // As far as I know variable declaration in a protocol should have exactly one binding.
[0;36m73 |[0;0m throw SpyableDiagnostic.variableDeclInProtocolWithNotSingleBinding
[366 / 374] SpyableMacro
[369 / 377] Spyable
[374 / 377] Spyable
Build complete! (41.62 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-syntax",
"requirement" : {
"range" : [
{
"lower_bound" : "509.0.0",
"upper_bound" : "602.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-syntax"
}
],
"manifest_display_name" : "swift-spyable",
"name" : "swift-spyable",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Spyable",
"targets" : [
"Spyable"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SpyableMacro",
"targets" : [
"SpyableMacro"
],
"type" : {
"macro" : null
}
}
],
"swift_languages_versions" : [
"6"
],
"targets" : [
{
"c99name" : "SpyableMacroTests",
"module_type" : "SwiftTarget",
"name" : "SpyableMacroTests",
"path" : "Tests/SpyableMacroTests",
"product_dependencies" : [
"SwiftSyntaxMacrosTestSupport"
],
"sources" : [
"Assertions/AssertBuildResult.swift",
"Extensions/UT_FunctionDeclSyntax+Extensions.swift",
"Extensions/UT_FunctionParameterListSyntax+Extensions.swift",
"Extensions/UT_TypeSyntax+ContainsGenericType.swift",
"Extensions/UT_TypeSyntax+ErasingGenericType.swift",
"Extractors/UT_Extractor.swift",
"Factories/UT_CalledFactory.swift",
"Factories/UT_CallsCountFactory.swift",
"Factories/UT_ClosureFactory.swift",
"Factories/UT_FunctionImplementationFactory.swift",
"Factories/UT_ReceivedArgumentsFactory.swift",
"Factories/UT_ReceivedInvocationsFactory.swift",
"Factories/UT_ReturnValueFactory.swift",
"Factories/UT_SpyFactory.swift",
"Factories/UT_ThrowableErrorFactory.swift",
"Factories/UT_VariablePrefixFactory.swift",
"Factories/UT_VariablesImplementationFactory.swift",
"Helpers/UT_TypeSanitizer.swift",
"Macro/UT_SpyableMacro.swift"
],
"target_dependencies" : [
"SpyableMacro"
],
"type" : "test"
},
{
"c99name" : "SpyableMacro",
"module_type" : "SwiftTarget",
"name" : "SpyableMacro",
"path" : "Sources/SpyableMacro",
"product_dependencies" : [
"SwiftSyntaxMacros",
"SwiftCompilerPlugin"
],
"product_memberships" : [
"Spyable",
"SpyableMacro"
],
"sources" : [
"Diagnostics/SpyableDiagnostic.swift",
"Diagnostics/SpyableNoteMessage.swift",
"Extensions/FunctionDeclSyntax+Extensions.swift",
"Extensions/FunctionParameters+Extensions.swift",
"Extensions/TypeSyntax+Extensions.swift",
"Extractors/Extractor.swift",
"Factories/AssociatedtypeFactory.swift",
"Factories/CalledFactory.swift",
"Factories/CallsCountFactory.swift",
"Factories/ClosureFactory.swift",
"Factories/FunctionImplementationFactory.swift",
"Factories/ReceivedArgumentsFactory.swift",
"Factories/ReceivedInvocationsFactory.swift",
"Factories/ReturnValueFactory.swift",
"Factories/SpyFactory.swift",
"Factories/ThrowableErrorFactory.swift",
"Factories/VariablePrefixFactory.swift",
"Factories/VariablesImplementationFactory.swift",
"Helpers/TypeSanitizer.swift",
"Macro/AccessLevelModifierRewriter.swift",
"Macro/SpyableMacro.swift",
"Plugin.swift"
],
"type" : "macro"
},
{
"c99name" : "Spyable",
"module_type" : "SwiftTarget",
"name" : "Spyable",
"path" : "Sources/Spyable",
"product_memberships" : [
"Spyable"
],
"sources" : [
"Spyable.swift"
],
"target_dependencies" : [
"SpyableMacro"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Done.