The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Speck, reference master (186173), with Swift 6.4 for macOS (SPM) on 16 Sep 2026 16:43:28 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/bppr/speck.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/bppr/speck
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 1861731 adds color and execution time to output, adds SwiftLint
Cloned https://github.com/bppr/speck.git
Revision (git rev-parse @):
18617316a6c62e2cb3ea00c1cd0d0e214537e28f
SUCCESS checkout https://github.com/bppr/speck.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/bppr/speck.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 153]
[Planning deferred tasks]
[37 / 70]
[50 / 85] SpeckCore
[64 / 85] SpeckCore
[70 / 96] SpeckAsserts
[80 / 96] SpeckAsserts
[84 / 104] Speck
[88 / 104] Speck
[100 / 104]
[103 / 104] Speck
Build complete! (4.46 sec)
/Users/admin/builder/spi-builder-workspace/Sources/SpeckAsserts/String.swift:50:33: warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
48 |
49 | private extension String {
50 |   var length: Int { return self.characters.count }
   |                                 `- warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
51 |   var first: Character? { return self.characters.first }
52 |
/Users/admin/builder/spi-builder-workspace/Sources/SpeckAsserts/String.swift:51:39: warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
49 | private extension String {
50 |   var length: Int { return self.characters.count }
51 |   var first: Character? { return self.characters.first }
   |                                       `- warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
52 |
53 |   func contains(string other: String) -> Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SpeckAsserts/String.swift:62:30: warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
60 |     }
61 |
62 |     guard let startAt = self.characters.index(of: other.first!) else {
   |                              `- warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
63 |       return nil
64 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpeckAsserts/String.swift:51:50: warning: function call causes an infinite recursion
49 | private extension String {
50 |   var length: Int { return self.characters.count }
51 |   var first: Character? { return self.characters.first }
   |                                                  `- warning: function call causes an infinite recursion
52 |
53 |   func contains(string other: String) -> Bool {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SpeckCore/Timer.swift:58:17: warning: 'deallocate(capacity:)' is deprecated: Swift currently only supports freeing entire heap blocks, use deallocate() instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
56 |   public static func now() -> Int {
57 |     let val = UnsafeMutablePointer<timeval>.allocate(capacity: 1)
58 |     defer { val.deallocate(capacity: 1) }
   |                 `- warning: 'deallocate(capacity:)' is deprecated: Swift currently only supports freeing entire heap blocks, use deallocate() instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
59 |
60 |     gettimeofday(val, nil)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/Speck/Reporter.swift:106:32: warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
104 |
105 | func fileMinusPwd(_ file: String) -> String {
106 |   let offset = SpeckSystem.cwd.characters.count + 1
    |                                `- warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
107 |   let startIdx = file.index(file.startIndex, offsetBy: offset)
108 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/Speck/Printer.swift:49:20: warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
47 |     let fullOutput = ([indentation] + output)
48 |       .map { $0.asString }
49 |       .filter { $0.characters.count > 0 }
   |                    `- warning: 'characters' is deprecated: Please use String directly [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
50 |       .joined(separator: " ")
51 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Speck",
  "name" : "Speck",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Speck",
      "targets" : [
        "Speck"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SpeckSystem",
      "module_type" : "SwiftTarget",
      "name" : "SpeckSystem",
      "path" : "Sources/SpeckSystem",
      "product_memberships" : [
        "Speck"
      ],
      "sources" : [
        "Math.swift",
        "cwd.swift",
        "log.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SpeckCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "SpeckCoreTests",
      "path" : "Tests/SpeckCoreTests",
      "sources" : [
        "BasicExpectationTest.swift",
        "ExampleTest.swift",
        "ReporterTest.swift",
        "SuiteTest.swift"
      ],
      "target_dependencies" : [
        "SpeckCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SpeckCore",
      "module_type" : "SwiftTarget",
      "name" : "SpeckCore",
      "path" : "Sources/SpeckCore",
      "product_memberships" : [
        "Speck"
      ],
      "sources" : [
        "BasicExpectation.swift",
        "Cursor.swift",
        "Example.swift",
        "Reporter.swift",
        "SpeckCore.swift",
        "Status.swift",
        "Suite.swift",
        "Timer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SpeckAssertsTests",
      "module_type" : "SwiftTarget",
      "name" : "SpeckAssertsTests",
      "path" : "Tests/SpeckAssertsTests",
      "sources" : [
        "ArrayTest.swift",
        "CollectionTest.swift",
        "ComparableTest.swift",
        "ExpectationTest.swift"
      ],
      "target_dependencies" : [
        "SpeckAsserts"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SpeckAsserts",
      "module_type" : "SwiftTarget",
      "name" : "SpeckAsserts",
      "path" : "Sources/SpeckAsserts",
      "product_memberships" : [
        "Speck"
      ],
      "sources" : [
        "Array.swift",
        "Collection.swift",
        "Comparable.swift",
        "Dictionary.swift",
        "Equatable.swift",
        "Expectation.swift",
        "Sequence.swift",
        "String.swift",
        "VoidExpectation.swift"
      ],
      "target_dependencies" : [
        "SpeckCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Speck",
      "module_type" : "SwiftTarget",
      "name" : "Speck",
      "path" : "Sources/Speck",
      "product_memberships" : [
        "Speck"
      ],
      "sources" : [
        "Context.swift",
        "Core.swift",
        "Printer.swift",
        "Reporter.swift",
        "expect.swift",
        "run.swift"
      ],
      "target_dependencies" : [
        "SpeckSystem",
        "SpeckCore",
        "SpeckAsserts"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.