The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Swiplot, reference master (b79d49), with Swift 6.1 for Wasm on 27 May 2025 16:19:48 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/t-ae/swiplot.git
Reference: master
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/t-ae/swiplot
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at b79d49c Update for Swift4
Cloned https://github.com/t-ae/swiplot.git
Revision (git rev-parse @):
b79d49c76c54637a3a4cea8e7e22d26fc5cf8bd7
SUCCESS checkout https://github.com/t-ae/swiplot.git at master
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/t-ae/swiplot.git
https://github.com/t-ae/swiplot.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Swiplot",
  "name" : "Swiplot",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Swiplot",
      "targets" : [
        "Swiplot"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiplotTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiplotTests",
      "path" : "Tests/SwiplotTests",
      "sources" : [
        "SwiplotTests.swift"
      ],
      "target_dependencies" : [
        "Swiplot"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Swiplot",
      "module_type" : "SwiftTarget",
      "name" : "Swiplot",
      "path" : "Sources",
      "product_memberships" : [
        "Swiplot"
      ],
      "sources" : [
        "Color.swift",
        "Graph.swift",
        "Graph3D.swift",
        "LineStyle.swift",
        "Plot.swift",
        "Plot3D.swift",
        "SingleLine.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -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
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/10] Compiling Swiplot SingleLine.swift
[4/10] Compiling Swiplot Plot3D.swift
/host/spi-builder-workspace/Sources/Plot3D.swift:11:23: error: cannot find 'Process' in scope
  9 |
 10 |     public func plot(gnuplotPath: String? = nil) {
 11 |         let process = Process()
    |                       `- error: cannot find 'Process' in scope
 12 |
 13 |         if let gnuplotPath = gnuplotPath {
/host/spi-builder-workspace/Sources/Plot3D.swift:38:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
 36 |         process.standardError = stderr
 37 |
 38 |         stdout.fileHandleForReading.readabilityHandler = { h in
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
/host/spi-builder-workspace/Sources/Plot3D.swift:38:60: error: cannot infer type of closure parameter 'h' without a type annotation
 36 |         process.standardError = stderr
 37 |
 38 |         stdout.fileHandleForReading.readabilityHandler = { h in
    |                                                            `- error: cannot infer type of closure parameter 'h' without a type annotation
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
/host/spi-builder-workspace/Sources/Plot3D.swift:41:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
 41 |         stderr.fileHandleForReading.readabilityHandler = { h in
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
 42 |             print(String(data: h.availableData, encoding: .utf8)!)
 43 |         }
/host/spi-builder-workspace/Sources/Plot3D.swift:41:60: error: cannot infer type of closure parameter 'h' without a type annotation
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
 41 |         stderr.fileHandleForReading.readabilityHandler = { h in
    |                                                            `- error: cannot infer type of closure parameter 'h' without a type annotation
 42 |             print(String(data: h.availableData, encoding: .utf8)!)
 43 |         }
[5/10] Compiling Swiplot LineStyle.swift
[6/10] Compiling Swiplot Graph3D.swift
[7/10] Compiling Swiplot Graph.swift
[8/10] Compiling Swiplot Color.swift
/host/spi-builder-workspace/Sources/Color.swift:14:16: warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
12 |
13 | extension Color {
14 |     static let red = Color("red")
   |                |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'red' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |     static let green = Color("green")
16 |     static let blue = Color("blue")
/host/spi-builder-workspace/Sources/Color.swift:15:16: warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
13 | extension Color {
14 |     static let red = Color("red")
15 |     static let green = Color("green")
   |                |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'green' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |     static let blue = Color("blue")
17 |     static let black = Color("black")
/host/spi-builder-workspace/Sources/Color.swift:16:16: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
14 |     static let red = Color("red")
15 |     static let green = Color("green")
16 |     static let blue = Color("blue")
   |                |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'blue' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     static let black = Color("black")
18 |     static let cyan = Color("cyan")
/host/spi-builder-workspace/Sources/Color.swift:17:16: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
15 |     static let green = Color("green")
16 |     static let blue = Color("blue")
17 |     static let black = Color("black")
   |                |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'black' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |     static let cyan = Color("cyan")
19 |     static let magenta = Color("magenta")
/host/spi-builder-workspace/Sources/Color.swift:18:16: warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
16 |     static let blue = Color("blue")
17 |     static let black = Color("black")
18 |     static let cyan = Color("cyan")
   |                |- warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cyan' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |     static let magenta = Color("magenta")
20 |     static let yellow = Color("yellow")
/host/spi-builder-workspace/Sources/Color.swift:19:16: warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
17 |     static let black = Color("black")
18 |     static let cyan = Color("cyan")
19 |     static let magenta = Color("magenta")
   |                |- warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'magenta' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |     static let yellow = Color("yellow")
21 | }
/host/spi-builder-workspace/Sources/Color.swift:20:16: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
18 |     static let cyan = Color("cyan")
19 |     static let magenta = Color("magenta")
20 |     static let yellow = Color("yellow")
   |                |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'yellow' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | }
22 |
[9/10] Emitting module Swiplot
/host/spi-builder-workspace/Sources/Color.swift:14:16: warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
12 |
13 | extension Color {
14 |     static let red = Color("red")
   |                |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'red' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |     static let green = Color("green")
16 |     static let blue = Color("blue")
/host/spi-builder-workspace/Sources/Color.swift:15:16: warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
13 | extension Color {
14 |     static let red = Color("red")
15 |     static let green = Color("green")
   |                |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'green' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |     static let blue = Color("blue")
17 |     static let black = Color("black")
/host/spi-builder-workspace/Sources/Color.swift:16:16: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
14 |     static let red = Color("red")
15 |     static let green = Color("green")
16 |     static let blue = Color("blue")
   |                |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'blue' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     static let black = Color("black")
18 |     static let cyan = Color("cyan")
/host/spi-builder-workspace/Sources/Color.swift:17:16: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
15 |     static let green = Color("green")
16 |     static let blue = Color("blue")
17 |     static let black = Color("black")
   |                |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'black' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |     static let cyan = Color("cyan")
19 |     static let magenta = Color("magenta")
/host/spi-builder-workspace/Sources/Color.swift:18:16: warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
16 |     static let blue = Color("blue")
17 |     static let black = Color("black")
18 |     static let cyan = Color("cyan")
   |                |- warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cyan' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |     static let magenta = Color("magenta")
20 |     static let yellow = Color("yellow")
/host/spi-builder-workspace/Sources/Color.swift:19:16: warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
17 |     static let black = Color("black")
18 |     static let cyan = Color("cyan")
19 |     static let magenta = Color("magenta")
   |                |- warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'magenta' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |     static let yellow = Color("yellow")
21 | }
/host/spi-builder-workspace/Sources/Color.swift:20:16: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct Color {
   |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
 2 |     let str: String
 3 |
   :
18 |     static let cyan = Color("cyan")
19 |     static let magenta = Color("magenta")
20 |     static let yellow = Color("yellow")
   |                |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'yellow' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | }
22 |
[10/10] Compiling Swiplot Plot.swift
/host/spi-builder-workspace/Sources/Plot.swift:11:23: error: cannot find 'Process' in scope
  9 |
 10 |     public func plot(gnuplotPath: String? = nil) {
 11 |         let process = Process()
    |                       `- error: cannot find 'Process' in scope
 12 |
 13 |         if let gnuplotPath = gnuplotPath {
/host/spi-builder-workspace/Sources/Plot.swift:38:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
 36 |         process.standardError = stderr
 37 |
 38 |         stdout.fileHandleForReading.readabilityHandler = { h in
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
/host/spi-builder-workspace/Sources/Plot.swift:38:60: error: cannot infer type of closure parameter 'h' without a type annotation
 36 |         process.standardError = stderr
 37 |
 38 |         stdout.fileHandleForReading.readabilityHandler = { h in
    |                                                            `- error: cannot infer type of closure parameter 'h' without a type annotation
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
/host/spi-builder-workspace/Sources/Plot.swift:41:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
 41 |         stderr.fileHandleForReading.readabilityHandler = { h in
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
 42 |             print(String(data: h.availableData, encoding: .utf8)!)
 43 |         }
/host/spi-builder-workspace/Sources/Plot.swift:41:60: error: cannot infer type of closure parameter 'h' without a type annotation
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
 41 |         stderr.fileHandleForReading.readabilityHandler = { h in
    |                                                            `- error: cannot infer type of closure parameter 'h' without a type annotation
 42 |             print(String(data: h.availableData, encoding: .utf8)!)
 43 |         }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/9] Compiling Swiplot SingleLine.swift
[3/9] Compiling Swiplot Plot.swift
/host/spi-builder-workspace/Sources/Plot.swift:11:23: error: cannot find 'Process' in scope
  9 |
 10 |     public func plot(gnuplotPath: String? = nil) {
 11 |         let process = Process()
    |                       `- error: cannot find 'Process' in scope
 12 |
 13 |         if let gnuplotPath = gnuplotPath {
/host/spi-builder-workspace/Sources/Plot.swift:38:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
 36 |         process.standardError = stderr
 37 |
 38 |         stdout.fileHandleForReading.readabilityHandler = { h in
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
/host/spi-builder-workspace/Sources/Plot.swift:38:60: error: cannot infer type of closure parameter 'h' without a type annotation
 36 |         process.standardError = stderr
 37 |
 38 |         stdout.fileHandleForReading.readabilityHandler = { h in
    |                                                            `- error: cannot infer type of closure parameter 'h' without a type annotation
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
/host/spi-builder-workspace/Sources/Plot.swift:41:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
 41 |         stderr.fileHandleForReading.readabilityHandler = { h in
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
 42 |             print(String(data: h.availableData, encoding: .utf8)!)
 43 |         }
/host/spi-builder-workspace/Sources/Plot.swift:41:60: error: cannot infer type of closure parameter 'h' without a type annotation
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
 41 |         stderr.fileHandleForReading.readabilityHandler = { h in
    |                                                            `- error: cannot infer type of closure parameter 'h' without a type annotation
 42 |             print(String(data: h.availableData, encoding: .utf8)!)
 43 |         }
[4/9] Compiling Swiplot Plot3D.swift
/host/spi-builder-workspace/Sources/Plot3D.swift:11:23: error: cannot find 'Process' in scope
  9 |
 10 |     public func plot(gnuplotPath: String? = nil) {
 11 |         let process = Process()
    |                       `- error: cannot find 'Process' in scope
 12 |
 13 |         if let gnuplotPath = gnuplotPath {
/host/spi-builder-workspace/Sources/Plot3D.swift:38:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
 36 |         process.standardError = stderr
 37 |
 38 |         stdout.fileHandleForReading.readabilityHandler = { h in
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
/host/spi-builder-workspace/Sources/Plot3D.swift:38:60: error: cannot infer type of closure parameter 'h' without a type annotation
 36 |         process.standardError = stderr
 37 |
 38 |         stdout.fileHandleForReading.readabilityHandler = { h in
    |                                                            `- error: cannot infer type of closure parameter 'h' without a type annotation
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
/host/spi-builder-workspace/Sources/Plot3D.swift:41:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
 41 |         stderr.fileHandleForReading.readabilityHandler = { h in
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
 42 |             print(String(data: h.availableData, encoding: .utf8)!)
 43 |         }
/host/spi-builder-workspace/Sources/Plot3D.swift:41:60: error: cannot infer type of closure parameter 'h' without a type annotation
 39 |             print(String(data: h.availableData, encoding: .utf8)!)
 40 |         }
 41 |         stderr.fileHandleForReading.readabilityHandler = { h in
    |                                                            `- error: cannot infer type of closure parameter 'h' without a type annotation
 42 |             print(String(data: h.availableData, encoding: .utf8)!)
 43 |         }
[5/9] Compiling Swiplot LineStyle.swift
[6/9] Compiling Swiplot Graph3D.swift
[7/9] Compiling Swiplot Color.swift
[8/9] Emitting module Swiplot
[9/9] Compiling Swiplot Graph.swift
BUILD FAILURE 6.1 wasm