The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of SenseHat, reference 1.0.0 (5599cd), with Swift 6.1 for Linux on 26 Apr 2025 07:05:04 UTC.

Swift 6 data race errors: 1

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/valeriyvan/RaspberryPiSenseHat.git
Reference: 1.0.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/valeriyvan/RaspberryPiSenseHat
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at 5599cdb Update README.md
Cloned https://github.com/valeriyvan/RaspberryPiSenseHat.git
Revision (git rev-parse @):
5599cdb80321f92d61fdf2525575d722d9e668ca
SUCCESS checkout https://github.com/valeriyvan/RaspberryPiSenseHat.git at 1.0.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/valeriyvan/RaspberryPiSenseHat.git
https://github.com/valeriyvan/RaspberryPiSenseHat.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SenseHat",
  "name" : "SenseHat",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SenseHat",
      "targets" : [
        "SenseHat"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Font8x8",
      "targets" : [
        "Font8x8"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Blink",
      "targets" : [
        "Blink"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "Snake",
      "targets" : [
        "Snake"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "Life",
      "targets" : [
        "Life"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "Sensors",
      "targets" : [
        "Sensors"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Snake",
      "module_type" : "SwiftTarget",
      "name" : "Snake",
      "path" : "Sources/Snake",
      "product_memberships" : [
        "Snake"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Sensors",
      "module_type" : "SwiftTarget",
      "name" : "Sensors",
      "path" : "Sources/Sensors",
      "product_memberships" : [
        "Sensors"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SenseHatTests",
      "module_type" : "SwiftTarget",
      "name" : "SenseHatTests",
      "path" : "Tests/SenseHatTests",
      "sources" : [
        "SenseHatTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SenseHat",
      "module_type" : "SwiftTarget",
      "name" : "SenseHat",
      "path" : "Sources/SenseHat",
      "product_memberships" : [
        "SenseHat",
        "Blink",
        "Snake",
        "Life",
        "Sensors"
      ],
      "sources" : [
        "SenseHat.swift",
        "Sensors.swift",
        "stderr.swift"
      ],
      "target_dependencies" : [
        "Font8x8"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Life",
      "module_type" : "SwiftTarget",
      "name" : "Life",
      "path" : "Sources/Life",
      "product_memberships" : [
        "Life"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Font8x8",
      "module_type" : "ClangTarget",
      "name" : "Font8x8",
      "path" : "Sources/Font8x8",
      "product_memberships" : [
        "SenseHat",
        "Font8x8",
        "Blink",
        "Snake",
        "Life",
        "Sensors"
      ],
      "sources" : [
        "Font8x8.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Blink",
      "module_type" : "SwiftTarget",
      "name" : "Blink",
      "path" : "Sources/Blink",
      "product_memberships" : [
        "Blink"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.1"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Building for debugging...
[0/20] Write sources
[5/20] Compiling Font8x8 Font8x8.c
[5/20] Write swift-version-24593BA9C3E375BF.txt
[8/24] Compiling SenseHat stderr.swift
/host/spi-builder-workspace/Sources/SenseHat/stderr.swift:9:12: warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 | import Foundation
 8 |
 9 | public var standardError = FileHandle.standardError
   |            |- warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: convert 'standardError' to a 'let' constant to make 'Sendable' shared state immutable
   |            |- note: add '@MainActor' to make var 'standardError' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 | extension FileHandle : TextOutputStream {
/host/spi-builder-workspace/Sources/SenseHat/stderr.swift:11:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 9 | public var standardError = FileHandle.standardError
10 |
11 | extension FileHandle : TextOutputStream {
   | |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |   public func write(_ string: String) {
13 |     guard let data = string.data(using: .utf8) else { return }
[9/24] Compiling SenseHat Sensors.swift
[10/24] Compiling SenseHat SenseHat.swift
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:300:41: warning: reference to var 'font8x8_basic' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
298 |         case 0x0000...0x007F:
299 |             let i = Int(unicodeCodePoint)
300 |             return withUnsafeBytes(of: &font8x8_basic) { charData($0, i, c, b) }
    |                                         `- warning: reference to var 'font8x8_basic' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
301 |         case 0x00A0...0x00FF:
302 |             let i = Int(unicodeCodePoint) - 0x00A0
/host/spi-builder-workspace/Sources/Font8x8/include/Font8x8.h:1:13: note: var declared here
1 | extern char font8x8_basic[128][8];
  |             `- note: var declared here
2 | extern char font8x8_block[32][8];
3 | extern char font8x8_box[128][8];
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:303:41: warning: reference to var 'font8x8_ext_latin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
301 |         case 0x00A0...0x00FF:
302 |             let i = Int(unicodeCodePoint) - 0x00A0
303 |             return withUnsafeBytes(of: &font8x8_ext_latin) { charData($0, i, c, b) }
    |                                         `- warning: reference to var 'font8x8_ext_latin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
304 |         case 0x2500...0x257F:
305 |             let i = Int(unicodeCodePoint) - 0x2500
/host/spi-builder-workspace/Sources/Font8x8/include/Font8x8.h:4:13: note: var declared here
2 | extern char font8x8_block[32][8];
3 | extern char font8x8_box[128][8];
4 | extern char font8x8_ext_latin[96][8];
  |             `- note: var declared here
5 | extern char font8x8_greek[58][8];
6 | extern char font8x8_hiragana[96][8];
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:306:41: warning: reference to var 'font8x8_box' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
304 |         case 0x2500...0x257F:
305 |             let i = Int(unicodeCodePoint) - 0x2500
306 |             return withUnsafeBytes(of: &font8x8_box) { charData($0, i, c, b) }
    |                                         `- warning: reference to var 'font8x8_box' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
307 |         case 0x2580...0x259F:
308 |             let i = Int(unicodeCodePoint) - 0x2580
/host/spi-builder-workspace/Sources/Font8x8/include/Font8x8.h:3:13: note: var declared here
1 | extern char font8x8_basic[128][8];
2 | extern char font8x8_block[32][8];
3 | extern char font8x8_box[128][8];
  |             `- note: var declared here
4 | extern char font8x8_ext_latin[96][8];
5 | extern char font8x8_greek[58][8];
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:309:41: warning: reference to var 'font8x8_block' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
307 |         case 0x2580...0x259F:
308 |             let i = Int(unicodeCodePoint) - 0x2580
309 |             return withUnsafeBytes(of: &font8x8_block) { charData($0, i, c, b) }
    |                                         `- warning: reference to var 'font8x8_block' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
310 |         case 0x3040...0x309F:
311 |             let i = Int(unicodeCodePoint) - 0x3040
/host/spi-builder-workspace/Sources/Font8x8/include/Font8x8.h:2:13: note: var declared here
1 | extern char font8x8_basic[128][8];
2 | extern char font8x8_block[32][8];
  |             `- note: var declared here
3 | extern char font8x8_box[128][8];
4 | extern char font8x8_ext_latin[96][8];
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:312:41: warning: reference to var 'font8x8_hiragana' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
310 |         case 0x3040...0x309F:
311 |             let i = Int(unicodeCodePoint) - 0x3040
312 |             return withUnsafeBytes(of: &font8x8_hiragana) { charData($0, i, c, b) }
    |                                         `- warning: reference to var 'font8x8_hiragana' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
313 |         case 0x0390...0x03C9:
314 |             let i = Int(unicodeCodePoint) - 0x0390
/host/spi-builder-workspace/Sources/Font8x8/include/Font8x8.h:6:13: note: var declared here
4 | extern char font8x8_ext_latin[96][8];
5 | extern char font8x8_greek[58][8];
6 | extern char font8x8_hiragana[96][8];
  |             `- note: var declared here
7 | extern char font8x8_sga[26][8];
8 |
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:315:41: warning: reference to var 'font8x8_greek' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
313 |         case 0x0390...0x03C9:
314 |             let i = Int(unicodeCodePoint) - 0x0390
315 |             return withUnsafeBytes(of: &font8x8_greek) { charData($0, i, c, b) }
    |                                         `- warning: reference to var 'font8x8_greek' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
316 |         case 0xE541...0xE55A:
317 |             let i = Int(unicodeCodePoint) - 0xE541
/host/spi-builder-workspace/Sources/Font8x8/include/Font8x8.h:5:13: note: var declared here
3 | extern char font8x8_box[128][8];
4 | extern char font8x8_ext_latin[96][8];
5 | extern char font8x8_greek[58][8];
  |             `- note: var declared here
6 | extern char font8x8_hiragana[96][8];
7 | extern char font8x8_sga[26][8];
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:318:41: warning: reference to var 'font8x8_sga' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
316 |         case 0xE541...0xE55A:
317 |             let i = Int(unicodeCodePoint) - 0xE541
318 |             return withUnsafeBytes(of: &font8x8_sga) { charData($0, i, c, b) }
    |                                         `- warning: reference to var 'font8x8_sga' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
319 |         default:
320 |             let background =
/host/spi-builder-workspace/Sources/Font8x8/include/Font8x8.h:7:13: note: var declared here
5 | extern char font8x8_greek[58][8];
6 | extern char font8x8_hiragana[96][8];
7 | extern char font8x8_sga[26][8];
  |             `- note: var declared here
8 |
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:497:13: warning: capture of 'self' with non-sendable type 'SenseHat?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 19 | // MARK: SenseHat
 20 |
 21 | public class SenseHat {
    |              `- note: class 'SenseHat' does not conform to the 'Sendable' protocol
 22 |
 23 |     private var fileDescriptor: Int32
    :
495 |         }
496 |         joystickCallbackDispatchQueue?.async { [weak self] in
497 |             self?.joystickCallback?(button, action)
    |             `- warning: capture of 'self' with non-sendable type 'SenseHat?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
498 |         }
499 |     }
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:497:37: warning: capture of 'button' with non-sendable type 'SenseHat.JoystickButton' in a '@Sendable' closure; this is an error in the Swift 6 language mode
411 |     }
412 |
413 |     public enum JoystickButton: UInt16 {
    |                 `- note: consider making enum 'JoystickButton' conform to the 'Sendable' protocol
414 |         case up = 103, right = 106, down = 108, left = 105, enter = 28
415 |     }
    :
495 |         }
496 |         joystickCallbackDispatchQueue?.async { [weak self] in
497 |             self?.joystickCallback?(button, action)
    |                                     `- warning: capture of 'button' with non-sendable type 'SenseHat.JoystickButton' in a '@Sendable' closure; this is an error in the Swift 6 language mode
498 |         }
499 |     }
/host/spi-builder-workspace/Sources/SenseHat/SenseHat.swift:497:45: warning: capture of 'action' with non-sendable type 'SenseHat.JoystickButtonAction' in a '@Sendable' closure; this is an error in the Swift 6 language mode
407 |
408 | extension SenseHat {
409 |     public enum JoystickButtonAction: Int32 {
    |                 `- note: consider making enum 'JoystickButtonAction' conform to the 'Sendable' protocol
410 |         case press = 1, release = 0, `repeat` = 2
411 |     }
    :
495 |         }
496 |         joystickCallbackDispatchQueue?.async { [weak self] in
497 |             self?.joystickCallback?(button, action)
    |                                             `- warning: capture of 'action' with non-sendable type 'SenseHat.JoystickButtonAction' in a '@Sendable' closure; this is an error in the Swift 6 language mode
498 |         }
499 |     }
[11/24] Emitting module SenseHat
/host/spi-builder-workspace/Sources/SenseHat/stderr.swift:9:12: warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 | import Foundation
 8 |
 9 | public var standardError = FileHandle.standardError
   |            |- warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: convert 'standardError' to a 'let' constant to make 'Sendable' shared state immutable
   |            |- note: add '@MainActor' to make var 'standardError' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 | extension FileHandle : TextOutputStream {
/host/spi-builder-workspace/Sources/SenseHat/stderr.swift:11:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 9 | public var standardError = FileHandle.standardError
10 |
11 | extension FileHandle : TextOutputStream {
   | |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |   public func write(_ string: String) {
13 |     guard let data = string.data(using: .utf8) else { return }
[12/27] Wrapping AST for SenseHat for debugging
[14/33] Emitting module Life
[15/33] Emitting module Sensors
[16/33] Compiling Sensors main.swift
[17/34] Compiling Life main.swift
/host/spi-builder-workspace/Sources/Life/main.swift:28:14: error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
22 | }
23 |
24 | var cells = [[Bool]](repeating: [Bool](repeating: true, count: 8), count: 8)
   |     `- note: var declared here
25 |
26 | func restart() -> Void {
   |      `- note: add '@MainActor' to make global function 'restart()' part of global actor 'MainActor'
27 |     print("Restarting.")
28 |     for x in cells.indices {
   |              `- error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
29 |         for y in cells[x].indices {
30 |             cells[x][y] = Bool.random()
/host/spi-builder-workspace/Sources/Life/main.swift:29:18: error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
22 | }
23 |
24 | var cells = [[Bool]](repeating: [Bool](repeating: true, count: 8), count: 8)
   |     `- note: var declared here
25 |
26 | func restart() -> Void {
   |      `- note: add '@MainActor' to make global function 'restart()' part of global actor 'MainActor'
27 |     print("Restarting.")
28 |     for x in cells.indices {
29 |         for y in cells[x].indices {
   |                  `- error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
30 |             cells[x][y] = Bool.random()
31 |         }
/host/spi-builder-workspace/Sources/Life/main.swift:30:13: error: main actor-isolated var 'cells' can not be mutated from a nonisolated context
22 | }
23 |
24 | var cells = [[Bool]](repeating: [Bool](repeating: true, count: 8), count: 8)
   |     `- note: mutation of this var is only permitted within the actor
25 |
26 | func restart() -> Void {
   |      `- note: add '@MainActor' to make global function 'restart()' part of global actor 'MainActor'
27 |     print("Restarting.")
28 |     for x in cells.indices {
29 |         for y in cells[x].indices {
30 |             cells[x][y] = Bool.random()
   |             `- error: main actor-isolated var 'cells' can not be mutated from a nonisolated context
31 |         }
32 |     }
/host/spi-builder-workspace/Sources/Life/main.swift:34:14: error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
22 | }
23 |
24 | var cells = [[Bool]](repeating: [Bool](repeating: true, count: 8), count: 8)
   |     `- note: var declared here
25 |
26 | func restart() -> Void {
   |      `- note: add '@MainActor' to make global function 'restart()' part of global actor 'MainActor'
27 |     print("Restarting.")
28 |     for x in cells.indices {
   :
32 |     }
33 |
34 |     for x in cells.indices {
   |              `- error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
35 |         for y in cells[x].indices {
36 |             senseHat[x, y] = cells[x][y] ? .red : .black
/host/spi-builder-workspace/Sources/Life/main.swift:35:18: error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
22 | }
23 |
24 | var cells = [[Bool]](repeating: [Bool](repeating: true, count: 8), count: 8)
   |     `- note: var declared here
25 |
26 | func restart() -> Void {
   |      `- note: add '@MainActor' to make global function 'restart()' part of global actor 'MainActor'
27 |     print("Restarting.")
28 |     for x in cells.indices {
   :
33 |
34 |     for x in cells.indices {
35 |         for y in cells[x].indices {
   |                  `- error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
36 |             senseHat[x, y] = cells[x][y] ? .red : .black
37 |         }
/host/spi-builder-workspace/Sources/Life/main.swift:36:30: error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
22 | }
23 |
24 | var cells = [[Bool]](repeating: [Bool](repeating: true, count: 8), count: 8)
   |     `- note: var declared here
25 |
26 | func restart() -> Void {
   |      `- note: add '@MainActor' to make global function 'restart()' part of global actor 'MainActor'
27 |     print("Restarting.")
28 |     for x in cells.indices {
   :
34 |     for x in cells.indices {
35 |         for y in cells[x].indices {
36 |             senseHat[x, y] = cells[x][y] ? .red : .black
   |                              `- error: main actor-isolated var 'cells' can not be referenced from a nonisolated context
37 |         }
38 |     }
[18/34] Emitting module Blink
/host/spi-builder-workspace/Sources/Blink/main.swift:60:14: warning: 'assign(repeating:count:)' is deprecated: renamed to 'update(repeating:count:)'
 58 |             .advanced(by: x * senseHat.indices.count * 2)
 59 |             .assumingMemoryBound(to: SenseHat.Rgb565.self)
 60 |             .assign(repeating: sequence[x], count: senseHat.indices.count)
    |              |- warning: 'assign(repeating:count:)' is deprecated: renamed to 'update(repeating:count:)'
    |              `- note: use 'update(repeating:count:)' instead
 61 |     }
 62 | }
[19/34] Emitting module Snake
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
[0/1] Planning build
Building for debugging...
[0/14] Write swift-version-24593BA9C3E375BF.txt
[2/18] Compiling SenseHat stderr.swift
/host/spi-builder-workspace/Sources/SenseHat/stderr.swift:11:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 9 | public var standardError = FileHandle.standardError
10 |
11 | extension FileHandle : TextOutputStream {
   | |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |   public func write(_ string: String) {
13 |     guard let data = string.data(using: .utf8) else { return }
[3/18] Compiling SenseHat Sensors.swift
[4/18] Compiling SenseHat SenseHat.swift
[5/18] Emitting module SenseHat
/host/spi-builder-workspace/Sources/SenseHat/stderr.swift:11:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 9 | public var standardError = FileHandle.standardError
10 |
11 | extension FileHandle : TextOutputStream {
   | |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |   public func write(_ string: String) {
13 |     guard let data = string.data(using: .utf8) else { return }
[6/21] Wrapping AST for SenseHat for debugging
[8/27] Emitting module Sensors
[9/27] Compiling Sensors main.swift
[11/28] Emitting module Snake
[12/28] Compiling Snake main.swift
[13/29] Emitting module Blink
/host/spi-builder-workspace/Sources/Blink/main.swift:60:14: warning: 'assign(repeating:count:)' is deprecated: renamed to 'update(repeating:count:)'
 58 |             .advanced(by: x * senseHat.indices.count * 2)
 59 |             .assumingMemoryBound(to: SenseHat.Rgb565.self)
 60 |             .assign(repeating: sequence[x], count: senseHat.indices.count)
    |              |- warning: 'assign(repeating:count:)' is deprecated: renamed to 'update(repeating:count:)'
    |              `- note: use 'update(repeating:count:)' instead
 61 |     }
 62 | }
[14/29] Compiling Blink main.swift
/host/spi-builder-workspace/Sources/Blink/main.swift:60:14: warning: 'assign(repeating:count:)' is deprecated: renamed to 'update(repeating:count:)'
 58 |             .advanced(by: x * senseHat.indices.count * 2)
 59 |             .assumingMemoryBound(to: SenseHat.Rgb565.self)
 60 |             .assign(repeating: sequence[x], count: senseHat.indices.count)
    |              |- warning: 'assign(repeating:count:)' is deprecated: renamed to 'update(repeating:count:)'
    |              `- note: use 'update(repeating:count:)' instead
 61 |     }
 62 | }
[15/30] Emitting module Life
[16/30] Compiling Life main.swift
[17/31] Wrapping AST for Sensors for debugging
[18/31] Write Objects.LinkFileList
[21/31] Wrapping AST for Snake for debugging
[22/31] Write Objects.LinkFileList
[23/31] Wrapping AST for Blink for debugging
[24/31] Write Objects.LinkFileList
[25/31] Wrapping AST for Life for debugging
[26/31] Write Objects.LinkFileList
[27/31] Linking Snake
[28/31] Linking Sensors
[29/31] Linking Life
[30/31] Linking Blink
Build complete! (3.09s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SenseHat",
  "name" : "SenseHat",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SenseHat",
      "targets" : [
        "SenseHat"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Font8x8",
      "targets" : [
        "Font8x8"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Blink",
      "targets" : [
        "Blink"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "Snake",
      "targets" : [
        "Snake"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "Life",
      "targets" : [
        "Life"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "Sensors",
      "targets" : [
        "Sensors"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Snake",
      "module_type" : "SwiftTarget",
      "name" : "Snake",
      "path" : "Sources/Snake",
      "product_memberships" : [
        "Snake"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Sensors",
      "module_type" : "SwiftTarget",
      "name" : "Sensors",
      "path" : "Sources/Sensors",
      "product_memberships" : [
        "Sensors"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SenseHatTests",
      "module_type" : "SwiftTarget",
      "name" : "SenseHatTests",
      "path" : "Tests/SenseHatTests",
      "sources" : [
        "SenseHatTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SenseHat",
      "module_type" : "SwiftTarget",
      "name" : "SenseHat",
      "path" : "Sources/SenseHat",
      "product_memberships" : [
        "SenseHat",
        "Blink",
        "Snake",
        "Life",
        "Sensors"
      ],
      "sources" : [
        "SenseHat.swift",
        "Sensors.swift",
        "stderr.swift"
      ],
      "target_dependencies" : [
        "Font8x8"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Life",
      "module_type" : "SwiftTarget",
      "name" : "Life",
      "path" : "Sources/Life",
      "product_memberships" : [
        "Life"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Font8x8",
      "module_type" : "ClangTarget",
      "name" : "Font8x8",
      "path" : "Sources/Font8x8",
      "product_memberships" : [
        "SenseHat",
        "Font8x8",
        "Blink",
        "Snake",
        "Life",
        "Sensors"
      ],
      "sources" : [
        "Font8x8.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Blink",
      "module_type" : "SwiftTarget",
      "name" : "Blink",
      "path" : "Sources/Blink",
      "product_memberships" : [
        "Blink"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SenseHat"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.1"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.