The Swift Package Index logo.Swift Package Index

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>&1

Build 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: warning: 'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
159 |           }
160 |
161 |           if functionDeclaration.signature.effectSpecifiers?.throwsSpecifier != nil {
    |                                                              `- warning: 'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
162 |             try throwableErrorFactory.variableDeclaration(variablePrefix: variablePrefix)
163 |           }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:49:29: warning: 'init(leadingTrivia:_:asyncSpecifier:_:throwsSpecifier:_:trailingTrivia:)' is deprecated: use throwsClause instead of throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 47 |             }
 48 |           },
 49 |           effectSpecifiers: TypeEffectSpecifiersSyntax(
    |                             `- warning: 'init(leadingTrivia:_:asyncSpecifier:_:throwsSpecifier:_:trailingTrivia:)' is deprecated: use throwsClause instead of throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 50 |             asyncSpecifier: functionSignature.effectSpecifiers?.asyncSpecifier,
 51 |             throwsSpecifier: functionSignature.effectSpecifiers?.throwsSpecifier
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:51:66: warning: 'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 49 |           effectSpecifiers: TypeEffectSpecifiersSyntax(
 50 |             asyncSpecifier: functionSignature.effectSpecifiers?.asyncSpecifier,
 51 |             throwsSpecifier: functionSignature.effectSpecifiers?.throwsSpecifier
    |                                                                  `- warning: 'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 52 |           ),
 53 |           returnClause: returnClause
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:169:44: warning: 'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
167 |     }
168 |
169 |     if functionSignature.effectSpecifiers?.throwsSpecifier != nil {
    |                                            `- warning: 'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
170 |       expression = TryExprSyntax(expression: expression)
171 |     }
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:192:22: warning: 'specifier' is deprecated: Access the specifiers list instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
190 |   fileprivate var isInoutParameter: Bool {
191 |     if let attributedType = self.type.as(AttributedTypeSyntax.self),
192 |       attributedType.specifier?.text == TokenSyntax.keyword(.inout).text
    |                      `- warning: 'specifier' is deprecated: Access the specifiers list instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
193 |     {
194 |       return true
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/FunctionImplementationFactory.swift:90:66: warning: 'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 88 |       }
 89 |
 90 |       if protocolFunctionDeclaration.signature.effectSpecifiers?.throwsSpecifier != nil {
    |                                                                  `- warning: 'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 91 |         throwableErrorFactory.throwErrorExpression(variablePrefix: variablePrefix)
 92 |       }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/host/spi-builder-workspace/Sources/SpyableMacro/Extensions/TypeSyntax+Extensions.swift:137:32: warning: 'init(leadingTrivia:_:argument:_:trailingComma:_:trailingTrivia:)' is deprecated: use GenericArgumentSyntax.Argument for 'argument' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
135 |         let newArgument: TypeSyntax = argumentElement.argument.erasingGenericTypes(genericTypes)
136 |       #endif
137 |       let newArgumentElement = GenericArgumentSyntax(
    |                                `- warning: 'init(leadingTrivia:_:argument:_:trailingComma:_:trailingTrivia:)' is deprecated: use GenericArgumentSyntax.Argument for 'argument' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
138 |         argument: newArgument,
139 |         trailingComma: argumentElement.trailingComma
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/VariablesImplementationFactory.swift:71:12: warning: code after 'throw' will never be executed
 69 |         try underlyingVariableDeclaration(binding: binding)
 70 |       }
 71 |     } else {
    |            `- warning: code after 'throw' will never be executed
 72 |       // As far as I know variable declaration in a protocol should have exactly one binding.
 73 |       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.