The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build IBeam, reference main (b0271a), with Swift 6.1 for Linux on 31 May 2025 19:40:25 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/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.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ChimeHQ/IBeam.git
Reference: main
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/ChimeHQ/IBeam
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at b0271ae support for deleteToEndOfLine; warn on unhandled selector, and trim the list
Cloned https://github.com/ChimeHQ/IBeam.git
Revision (git rev-parse @):
b0271ae37c14bc38def2459f8d803b1736a9a9cd
SUCCESS checkout https://github.com/ChimeHQ/IBeam.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/ChimeHQ/IBeam.git
https://github.com/ChimeHQ/IBeam.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "rearrange",
      "requirement" : {
        "branch" : [
          "main"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ChimeHQ/Rearrange"
    }
  ],
  "manifest_display_name" : "IBeam",
  "name" : "IBeam",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "15.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "IBeam",
      "targets" : [
        "IBeam"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "IBeamTests",
      "module_type" : "SwiftTarget",
      "name" : "IBeamTests",
      "path" : "Tests/IBeamTests",
      "sources" : [
        "MultiCursorStatePerformanceTests.swift",
        "MultiCursorStateTests.swift",
        "UndoManagerActionTests.swift"
      ],
      "target_dependencies" : [
        "IBeam"
      ],
      "type" : "test"
    },
    {
      "c99name" : "IBeam",
      "module_type" : "SwiftTarget",
      "name" : "IBeam",
      "path" : "Sources/IBeam",
      "product_dependencies" : [
        "Rearrange"
      ],
      "product_memberships" : [
        "IBeam"
      ],
      "sources" : [
        "Cursor.swift",
        "CursorOperation.swift",
        "InputOperation.swift",
        "InputOperationProcessor.swift",
        "MockTextSystem.swift",
        "MultiCursorState.swift",
        "MutableStringPartialSystem.swift",
        "NSResponder+CursorSelectors.swift",
        "SelectionSet.swift",
        "TextSystemCursorCoordinator.swift",
        "TextSystemInterface.swift",
        "TextViewIndicatorState.swift",
        "UndoManager+GroupActions.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/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 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2b296aa7156f49efc57252cdf9ed4bb21d0f92fc98d88800e255491ba2db3116
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/ChimeHQ/Rearrange
[1/569] Fetching rearrange
Fetched https://github.com/ChimeHQ/Rearrange from cache (0.25s)
Creating working copy for https://github.com/ChimeHQ/Rearrange
Working copy of https://github.com/ChimeHQ/Rearrange resolved at main (e22fe9d)
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/15] Compiling Rearrange String+NSRange.swift
[5/16] Compiling Rearrange TextRangeCalculating.swift
[6/16] Compiling Rearrange RangeMutation.swift
[7/16] Compiling Rearrange NSTextRange+Bounded.swift
[8/16] Compiling Rearrange NSTextRange+NSRange.swift
[9/16] Emitting module Rearrange
[10/16] Compiling Rearrange IndexSet+NSRange.swift
[11/16] Compiling Rearrange NSRange+ApplyMutation.swift
[12/16] Compiling Rearrange Bounded.swift
[13/16] Compiling Rearrange IndexSet+ApplyMutation.swift
[14/16] Compiling Rearrange NSRange+Convenience.swift
[15/16] Compiling Rearrange NSRange+Shift.swift
[16/16] Compiling Rearrange UITextRange+Convenience.swift
[18/30] Compiling IBeam TextViewIndicatorState.swift
[19/30] Compiling IBeam TextSystemInterface.swift
/host/spi-builder-workspace/Sources/IBeam/TextSystemInterface.swift:115:21: error: cannot find type 'UndoManager' in scope
113 | extension TextSystemInterface where Self: AnyObject, TextRange: Sendable {
114 | 	func registerMutationUndo(
115 | 		with undoManager: UndoManager?,
    |                     `- error: cannot find type 'UndoManager' in scope
116 | 		range: TextRange,
117 | 		substringProvider: (TextRange) -> (AttributedString, Int)?
[20/31] Compiling IBeam MutableStringPartialSystem.swift
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:46:32: error: reference to member 'writingDirection' cannot be resolved without a contextual type
 44 |
 45 | 		let attrs = content.attributes(at: position, effectiveRange: nil)
 46 | 		guard let direction = attrs[.writingDirection] as? NSNumber else {
    |                                `- error: reference to member 'writingDirection' cannot be resolved without a contextual type
 47 | 			return nil
 48 | 		}
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:102:22: error: no exact matches in call to initializer
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
102 | 		let nsAttrString = NSAttributedString(string)
    |                      |- error: no exact matches in call to initializer
    |                      |- note: candidate expects value of type 'NSCoder' for parameter #1 (got 'AttributedString')
    |                      |- note: candidate expects value of type 'String' for parameter #1 (got 'AttributedString')
    |                      `- note: candidate expects value of type 'NSAttributedString' for parameter #1 (got 'AttributedString')
103 |
104 | 		return applyMutation(range, string: nsAttrString, undoManager: undoManager)
[21/31] Compiling IBeam NSResponder+CursorSelectors.swift
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:46:32: error: reference to member 'writingDirection' cannot be resolved without a contextual type
 44 |
 45 | 		let attrs = content.attributes(at: position, effectiveRange: nil)
 46 | 		guard let direction = attrs[.writingDirection] as? NSNumber else {
    |                                `- error: reference to member 'writingDirection' cannot be resolved without a contextual type
 47 | 			return nil
 48 | 		}
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:102:22: error: no exact matches in call to initializer
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
102 | 		let nsAttrString = NSAttributedString(string)
    |                      |- error: no exact matches in call to initializer
    |                      |- note: candidate expects value of type 'NSCoder' for parameter #1 (got 'AttributedString')
    |                      |- note: candidate expects value of type 'String' for parameter #1 (got 'AttributedString')
    |                      `- note: candidate expects value of type 'NSAttributedString' for parameter #1 (got 'AttributedString')
103 |
104 | 		return applyMutation(range, string: nsAttrString, undoManager: undoManager)
[22/31] Compiling IBeam MockTextSystem.swift
/host/spi-builder-workspace/Sources/IBeam/MockTextSystem.swift:23:41: error: cannot find type 'UndoManager' in scope
 21 | 	private var partialSystem: MutableStringPartialInterface
 22 | 	public var responses: [Response] = []
 23 | 	public var undoManagerProvider: (() -> UndoManager?)?
    |                                         `- error: cannot find type 'UndoManager' in scope
 24 |
 25 | 	public init(_ string: NSAttributedString) {
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:21:40: error: cannot find type 'UndoManager' in scope
 19 |
 20 | 	public var cursorsChanged: CursorChangedHandler = { _, _, _ in }
 21 | 	public var undoManagerProvider: () -> UndoManager? = { nil }
    |                                        `- error: cannot find type 'UndoManager' in scope
 22 |
 23 | 	public init(cursors: [Cursor<TextRange>], system: System) {
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:38:27: error: cannot find type 'UndoManager' in scope
 36 | 	}
 37 |
 38 | 	private var undoManager: UndoManager? {
    |                           `- error: cannot find type 'UndoManager' in scope
 39 | 		undoManagerProvider()
 40 | 	}
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:61:37: error: expression pattern of type '(_) -> InputOperation' cannot match values of type 'InputOperation'
 59 | 	private func validateOperation(_ operation: InputOperation) throws {
 60 | 		// check bounds for an array-based insert
 61 | 		if case .insertTextArray(let array) = operation {
    |                                     `- error: expression pattern of type '(_) -> InputOperation' cannot match values of type 'InputOperation'
 62 | 			if array.count != internalCursors.count {
 63 | 				throw CursorOperationError.insertArrayCountMismatch
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:61:12: error: type '_ErrorCodeProtocol' has no member 'insertTextArray'
 59 | 	private func validateOperation(_ operation: InputOperation) throws {
 60 | 		// check bounds for an array-based insert
 61 | 		if case .insertTextArray(let array) = operation {
    |            `- error: type '_ErrorCodeProtocol' has no member 'insertTextArray'
 62 | 			if array.count != internalCursors.count {
 63 | 				throw CursorOperationError.insertArrayCountMismatch
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:164:17: error: cannot find 'UndoManager' in scope
162 |
163 | 		// set up the action we need to take on undo/redo
164 | 		let actions = UndoManager.GroupActions<MultiCursorState>(
    |                 `- error: cannot find 'UndoManager' in scope
165 | 			enter: { [textSystem] _ in
166 | 				textSystem.beginEditing()
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:165:26: error: cannot infer type of closure parameter '_' without a type annotation
163 | 		// set up the action we need to take on undo/redo
164 | 		let actions = UndoManager.GroupActions<MultiCursorState>(
165 | 			enter: { [textSystem] _ in
    |                          `- error: cannot infer type of closure parameter '_' without a type annotation
166 | 				textSystem.beginEditing()
167 | 			},
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:168:26: error: cannot infer type of closure parameter 'target' without a type annotation
166 | 				textSystem.beginEditing()
167 | 			},
168 | 			leave: { [textSystem] target in
    |                          `- error: cannot infer type of closure parameter 'target' without a type annotation
169 | 				textSystem.endEditing()
170 |
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:176:27: error: generic parameter 'Element' could not be inferred
174 | 				let currentSet = Set(self.internalCursors.map({ $0.id }))
175 |
176 | 				target.cursorsChanged(Set(), Set(), currentSet)
    |                           |- error: generic parameter 'Element' could not be inferred
    |                           `- note: explicitly specify the generic arguments to fix this issue
177 | 			}
178 | 		)
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:176:34: error: generic parameter 'Element' could not be inferred
174 | 				let currentSet = Set(self.internalCursors.map({ $0.id }))
175 |
176 | 				target.cursorsChanged(Set(), Set(), currentSet)
    |                                  |- error: generic parameter 'Element' could not be inferred
    |                                  `- note: explicitly specify the generic arguments to fix this issue
177 | 			}
178 | 		)
[23/31] Compiling IBeam MultiCursorState.swift
/host/spi-builder-workspace/Sources/IBeam/MockTextSystem.swift:23:41: error: cannot find type 'UndoManager' in scope
 21 | 	private var partialSystem: MutableStringPartialInterface
 22 | 	public var responses: [Response] = []
 23 | 	public var undoManagerProvider: (() -> UndoManager?)?
    |                                         `- error: cannot find type 'UndoManager' in scope
 24 |
 25 | 	public init(_ string: NSAttributedString) {
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:21:40: error: cannot find type 'UndoManager' in scope
 19 |
 20 | 	public var cursorsChanged: CursorChangedHandler = { _, _, _ in }
 21 | 	public var undoManagerProvider: () -> UndoManager? = { nil }
    |                                        `- error: cannot find type 'UndoManager' in scope
 22 |
 23 | 	public init(cursors: [Cursor<TextRange>], system: System) {
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:38:27: error: cannot find type 'UndoManager' in scope
 36 | 	}
 37 |
 38 | 	private var undoManager: UndoManager? {
    |                           `- error: cannot find type 'UndoManager' in scope
 39 | 		undoManagerProvider()
 40 | 	}
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:61:37: error: expression pattern of type '(_) -> InputOperation' cannot match values of type 'InputOperation'
 59 | 	private func validateOperation(_ operation: InputOperation) throws {
 60 | 		// check bounds for an array-based insert
 61 | 		if case .insertTextArray(let array) = operation {
    |                                     `- error: expression pattern of type '(_) -> InputOperation' cannot match values of type 'InputOperation'
 62 | 			if array.count != internalCursors.count {
 63 | 				throw CursorOperationError.insertArrayCountMismatch
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:61:12: error: type '_ErrorCodeProtocol' has no member 'insertTextArray'
 59 | 	private func validateOperation(_ operation: InputOperation) throws {
 60 | 		// check bounds for an array-based insert
 61 | 		if case .insertTextArray(let array) = operation {
    |            `- error: type '_ErrorCodeProtocol' has no member 'insertTextArray'
 62 | 			if array.count != internalCursors.count {
 63 | 				throw CursorOperationError.insertArrayCountMismatch
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:164:17: error: cannot find 'UndoManager' in scope
162 |
163 | 		// set up the action we need to take on undo/redo
164 | 		let actions = UndoManager.GroupActions<MultiCursorState>(
    |                 `- error: cannot find 'UndoManager' in scope
165 | 			enter: { [textSystem] _ in
166 | 				textSystem.beginEditing()
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:165:26: error: cannot infer type of closure parameter '_' without a type annotation
163 | 		// set up the action we need to take on undo/redo
164 | 		let actions = UndoManager.GroupActions<MultiCursorState>(
165 | 			enter: { [textSystem] _ in
    |                          `- error: cannot infer type of closure parameter '_' without a type annotation
166 | 				textSystem.beginEditing()
167 | 			},
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:168:26: error: cannot infer type of closure parameter 'target' without a type annotation
166 | 				textSystem.beginEditing()
167 | 			},
168 | 			leave: { [textSystem] target in
    |                          `- error: cannot infer type of closure parameter 'target' without a type annotation
169 | 				textSystem.endEditing()
170 |
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:176:27: error: generic parameter 'Element' could not be inferred
174 | 				let currentSet = Set(self.internalCursors.map({ $0.id }))
175 |
176 | 				target.cursorsChanged(Set(), Set(), currentSet)
    |                           |- error: generic parameter 'Element' could not be inferred
    |                           `- note: explicitly specify the generic arguments to fix this issue
177 | 			}
178 | 		)
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:176:34: error: generic parameter 'Element' could not be inferred
174 | 				let currentSet = Set(self.internalCursors.map({ $0.id }))
175 |
176 | 				target.cursorsChanged(Set(), Set(), currentSet)
    |                                  |- error: generic parameter 'Element' could not be inferred
    |                                  `- note: explicitly specify the generic arguments to fix this issue
177 | 			}
178 | 		)
[24/31] Compiling IBeam SelectionSet.swift
[25/31] Compiling IBeam TextSystemCursorCoordinator.swift
[26/31] Compiling IBeam UndoManager+GroupActions.swift
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:3:11: error: cannot find type 'UndoManager' in scope
 1 | import Foundation
 2 |
 3 | extension UndoManager {
   |           `- error: cannot find type 'UndoManager' in scope
 4 | 	var isActive: Bool {
 5 | 		isUndoing || isRedoing
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:9:11: error: cannot find type 'UndoManager' in scope
 7 | }
 8 |
 9 | extension UndoManager {
   |           `- error: cannot find type 'UndoManager' in scope
10 | 	/// A pair of actions to invoke when an undo group is entered/exited as part of an undo or redo.
11 | 	public struct GroupActions<T: AnyObject> {
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:28:49: error: cannot find type 'UndoManager' in scope
26 | 		///
27 | 		/// The actions will run even if the UndoManager argument is nil. If you don't want this behavior, check out the `UndoManager.withUndoGrouping` variant.
28 | 		public func withUndoGrouping(for undoManager: UndoManager?, target: T, _ block: () -> Void) {
   |                                                 `- error: cannot find type 'UndoManager' in scope
29 | 			guard let undoManager else {
30 | 				enter(target)
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:50:65: error: cannot find type 'GroupActions' in scope
48 | 	}
49 |
50 | 	public func withUndoGrouping<T: AnyObject>(target: T, actions: GroupActions<T>, _ block: () -> Void) {
   |                                                                 `- error: cannot find type 'GroupActions' in scope
51 | 		beginUndoGrouping()
52 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[27/31] Compiling IBeam Cursor.swift
[28/31] Compiling IBeam CursorOperation.swift
[29/31] Emitting module IBeam
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:13:18: error: cannot find type 'AttributedString' in scope
11 | 	case moveUp
12 | 	case moveDown
13 | 	case insertText(AttributedString)
   |                  `- error: cannot find type 'AttributedString' in scope
14 | 	case insertTextArray([AttributedString])
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/MockTextSystem.swift:23:41: error: cannot find type 'UndoManager' in scope
 21 | 	private var partialSystem: MutableStringPartialInterface
 22 | 	public var responses: [Response] = []
 23 | 	public var undoManagerProvider: (() -> UndoManager?)?
    |                                         `- error: cannot find type 'UndoManager' in scope
 24 |
 25 | 	public init(_ string: NSAttributedString) {
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:21:40: error: cannot find type 'UndoManager' in scope
 19 |
 20 | 	public var cursorsChanged: CursorChangedHandler = { _, _, _ in }
 21 | 	public var undoManagerProvider: () -> UndoManager? = { nil }
    |                                        `- error: cannot find type 'UndoManager' in scope
 22 |
 23 | 	public init(cursors: [Cursor<TextRange>], system: System) {
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:38:27: error: cannot find type 'UndoManager' in scope
 36 | 	}
 37 |
 38 | 	private var undoManager: UndoManager? {
    |                           `- error: cannot find type 'UndoManager' in scope
 39 | 		undoManagerProvider()
 40 | 	}
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/TextSystemInterface.swift:115:21: error: cannot find type 'UndoManager' in scope
113 | extension TextSystemInterface where Self: AnyObject, TextRange: Sendable {
114 | 	func registerMutationUndo(
115 | 		with undoManager: UndoManager?,
    |                     `- error: cannot find type 'UndoManager' in scope
116 | 		range: TextRange,
117 | 		substringProvider: (TextRange) -> (AttributedString, Int)?
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:3:11: error: cannot find type 'UndoManager' in scope
 1 | import Foundation
 2 |
 3 | extension UndoManager {
   |           `- error: cannot find type 'UndoManager' in scope
 4 | 	var isActive: Bool {
 5 | 		isUndoing || isRedoing
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:9:11: error: cannot find type 'UndoManager' in scope
 7 | }
 8 |
 9 | extension UndoManager {
   |           `- error: cannot find type 'UndoManager' in scope
10 | 	/// A pair of actions to invoke when an undo group is entered/exited as part of an undo or redo.
11 | 	public struct GroupActions<T: AnyObject> {
[30/31] Compiling IBeam InputOperation.swift
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:13:18: error: cannot find type 'AttributedString' in scope
11 | 	case moveUp
12 | 	case moveDown
13 | 	case insertText(AttributedString)
   |                  `- error: cannot find type 'AttributedString' in scope
14 | 	case insertTextArray([AttributedString])
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:19:19: error: cannot find 'AttributedString' in scope
17 |
18 | 	public static func insertText(_ value: String) -> InputOperation {
19 | 		Self.insertText(AttributedString(value))
   |                   `- error: cannot find 'AttributedString' in scope
20 | 	}
21 |
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:23:36: error: cannot find 'AttributedString' in scope
21 |
22 | 	public static func insertTextArray(_ value: [String]) -> InputOperation {
23 | 		Self.insertTextArray(value.map { AttributedString($0) })
   |                                    `- error: cannot find 'AttributedString' in scope
24 | 	}
25 |
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:27:3: error: type of expression is ambiguous without a type annotation
25 |
26 | 	func indexedOperation(for cursorIndex: Int) -> InputOperation {
27 | 		switch self {
   |   `- error: type of expression is ambiguous without a type annotation
28 | 		case let .insertTextArray(array):
29 | 			.insertText(array[cursorIndex])
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:81:9: error: member 'insertText' expects argument of type 'String'
79 | 		case .deleteBackwards:
80 | 			true
81 | 		case .insertText, .insertTextArray:
   |         `- error: member 'insertText' expects argument of type 'String'
82 | 			true
83 | 		default:
/host/spi-builder-workspace/Sources/IBeam/InputOperationProcessor.swift:47:24: error: pattern variable binding cannot appear in an expression
 45 |
 46 | 		switch operation {
 47 | 		case let .insertText(value):
    |                        `- error: pattern variable binding cannot appear in an expression
 48 | 			return try textSystem.applyMutation(range.range, string: value)
 49 | 		case let .deleteBackwards(value):
/host/spi-builder-workspace/Sources/IBeam/InputOperationProcessor.swift:73:9: error: member 'insertTextArray' expects argument of type '[String]'
 71 | 		case .moveToLeftEndOfLine:
 72 | 			return moveToLeftEndOfLine(textRange: range)
 73 | 		case .insertTextArray:
    |         `- error: member 'insertTextArray' expects argument of type '[String]'
 74 | 			fatalError("This operation cannot be processed on a per-cursor basis")
 75 | 		}
[31/31] Compiling IBeam InputOperationProcessor.swift
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:13:18: error: cannot find type 'AttributedString' in scope
11 | 	case moveUp
12 | 	case moveDown
13 | 	case insertText(AttributedString)
   |                  `- error: cannot find type 'AttributedString' in scope
14 | 	case insertTextArray([AttributedString])
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:19:19: error: cannot find 'AttributedString' in scope
17 |
18 | 	public static func insertText(_ value: String) -> InputOperation {
19 | 		Self.insertText(AttributedString(value))
   |                   `- error: cannot find 'AttributedString' in scope
20 | 	}
21 |
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:23:36: error: cannot find 'AttributedString' in scope
21 |
22 | 	public static func insertTextArray(_ value: [String]) -> InputOperation {
23 | 		Self.insertTextArray(value.map { AttributedString($0) })
   |                                    `- error: cannot find 'AttributedString' in scope
24 | 	}
25 |
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:27:3: error: type of expression is ambiguous without a type annotation
25 |
26 | 	func indexedOperation(for cursorIndex: Int) -> InputOperation {
27 | 		switch self {
   |   `- error: type of expression is ambiguous without a type annotation
28 | 		case let .insertTextArray(array):
29 | 			.insertText(array[cursorIndex])
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:81:9: error: member 'insertText' expects argument of type 'String'
79 | 		case .deleteBackwards:
80 | 			true
81 | 		case .insertText, .insertTextArray:
   |         `- error: member 'insertText' expects argument of type 'String'
82 | 			true
83 | 		default:
/host/spi-builder-workspace/Sources/IBeam/InputOperationProcessor.swift:47:24: error: pattern variable binding cannot appear in an expression
 45 |
 46 | 		switch operation {
 47 | 		case let .insertText(value):
    |                        `- error: pattern variable binding cannot appear in an expression
 48 | 			return try textSystem.applyMutation(range.range, string: value)
 49 | 		case let .deleteBackwards(value):
/host/spi-builder-workspace/Sources/IBeam/InputOperationProcessor.swift:73:9: error: member 'insertTextArray' expects argument of type '[String]'
 71 | 		case .moveToLeftEndOfLine:
 72 | 			return moveToLeftEndOfLine(textRange: range)
 73 | 		case .insertTextArray:
    |         `- error: member 'insertTextArray' expects argument of type '[String]'
 74 | 			fatalError("This operation cannot be processed on a per-cursor basis")
 75 | 		}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/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:2b296aa7156f49efc57252cdf9ed4bb21d0f92fc98d88800e255491ba2db3116
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/1] Write swift-version-24593BA9C3E375BF.txt
[2/13] Compiling Rearrange Bounded.swift
[3/13] Compiling Rearrange IndexSet+ApplyMutation.swift
[4/13] Emitting module Rearrange
[5/14] Compiling Rearrange RangeMutation.swift
[6/14] Compiling Rearrange NSTextRange+Bounded.swift
[7/14] Compiling Rearrange NSTextRange+NSRange.swift
[8/14] Compiling Rearrange NSRange+Convenience.swift
[9/14] Compiling Rearrange NSRange+Shift.swift
[10/14] Compiling Rearrange IndexSet+NSRange.swift
[11/14] Compiling Rearrange NSRange+ApplyMutation.swift
[12/14] Compiling Rearrange UITextRange+Convenience.swift
[13/14] Compiling Rearrange String+NSRange.swift
[14/14] Compiling Rearrange TextRangeCalculating.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[16/28] Emitting module IBeam
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:13:18: error: cannot find type 'AttributedString' in scope
11 | 	case moveUp
12 | 	case moveDown
13 | 	case insertText(AttributedString)
   |                  `- error: cannot find type 'AttributedString' in scope
14 | 	case insertTextArray([AttributedString])
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/MockTextSystem.swift:23:41: error: cannot find type 'UndoManager' in scope
 21 | 	private var partialSystem: MutableStringPartialInterface
 22 | 	public var responses: [Response] = []
 23 | 	public var undoManagerProvider: (() -> UndoManager?)?
    |                                         `- error: cannot find type 'UndoManager' in scope
 24 |
 25 | 	public init(_ string: NSAttributedString) {
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:21:40: error: cannot find type 'UndoManager' in scope
 19 |
 20 | 	public var cursorsChanged: CursorChangedHandler = { _, _, _ in }
 21 | 	public var undoManagerProvider: () -> UndoManager? = { nil }
    |                                        `- error: cannot find type 'UndoManager' in scope
 22 |
 23 | 	public init(cursors: [Cursor<TextRange>], system: System) {
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:38:27: error: cannot find type 'UndoManager' in scope
 36 | 	}
 37 |
 38 | 	private var undoManager: UndoManager? {
    |                           `- error: cannot find type 'UndoManager' in scope
 39 | 		undoManagerProvider()
 40 | 	}
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/TextSystemInterface.swift:115:21: error: cannot find type 'UndoManager' in scope
113 | extension TextSystemInterface where Self: AnyObject, TextRange: Sendable {
114 | 	func registerMutationUndo(
115 | 		with undoManager: UndoManager?,
    |                     `- error: cannot find type 'UndoManager' in scope
116 | 		range: TextRange,
117 | 		substringProvider: (TextRange) -> (AttributedString, Int)?
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:3:11: error: cannot find type 'UndoManager' in scope
 1 | import Foundation
 2 |
 3 | extension UndoManager {
   |           `- error: cannot find type 'UndoManager' in scope
 4 | 	var isActive: Bool {
 5 | 		isUndoing || isRedoing
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:9:11: error: cannot find type 'UndoManager' in scope
 7 | }
 8 |
 9 | extension UndoManager {
   |           `- error: cannot find type 'UndoManager' in scope
10 | 	/// A pair of actions to invoke when an undo group is entered/exited as part of an undo or redo.
11 | 	public struct GroupActions<T: AnyObject> {
[17/28] Compiling IBeam TextViewIndicatorState.swift
[18/29] Compiling IBeam TextSystemInterface.swift
/host/spi-builder-workspace/Sources/IBeam/TextSystemInterface.swift:115:21: error: cannot find type 'UndoManager' in scope
113 | extension TextSystemInterface where Self: AnyObject, TextRange: Sendable {
114 | 	func registerMutationUndo(
115 | 		with undoManager: UndoManager?,
    |                     `- error: cannot find type 'UndoManager' in scope
116 | 		range: TextRange,
117 | 		substringProvider: (TextRange) -> (AttributedString, Int)?
[19/29] Compiling IBeam SelectionSet.swift
[20/29] Compiling IBeam TextSystemCursorCoordinator.swift
[21/29] Compiling IBeam Cursor.swift
[22/29] Compiling IBeam CursorOperation.swift
[23/29] Compiling IBeam MockTextSystem.swift
/host/spi-builder-workspace/Sources/IBeam/MockTextSystem.swift:23:41: error: cannot find type 'UndoManager' in scope
 21 | 	private var partialSystem: MutableStringPartialInterface
 22 | 	public var responses: [Response] = []
 23 | 	public var undoManagerProvider: (() -> UndoManager?)?
    |                                         `- error: cannot find type 'UndoManager' in scope
 24 |
 25 | 	public init(_ string: NSAttributedString) {
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:21:40: error: cannot find type 'UndoManager' in scope
 19 |
 20 | 	public var cursorsChanged: CursorChangedHandler = { _, _, _ in }
 21 | 	public var undoManagerProvider: () -> UndoManager? = { nil }
    |                                        `- error: cannot find type 'UndoManager' in scope
 22 |
 23 | 	public init(cursors: [Cursor<TextRange>], system: System) {
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:38:27: error: cannot find type 'UndoManager' in scope
 36 | 	}
 37 |
 38 | 	private var undoManager: UndoManager? {
    |                           `- error: cannot find type 'UndoManager' in scope
 39 | 		undoManagerProvider()
 40 | 	}
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:61:37: error: expression pattern of type '(_) -> InputOperation' cannot match values of type 'InputOperation'
 59 | 	private func validateOperation(_ operation: InputOperation) throws {
 60 | 		// check bounds for an array-based insert
 61 | 		if case .insertTextArray(let array) = operation {
    |                                     `- error: expression pattern of type '(_) -> InputOperation' cannot match values of type 'InputOperation'
 62 | 			if array.count != internalCursors.count {
 63 | 				throw CursorOperationError.insertArrayCountMismatch
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:61:12: error: type '_ErrorCodeProtocol' has no member 'insertTextArray'
 59 | 	private func validateOperation(_ operation: InputOperation) throws {
 60 | 		// check bounds for an array-based insert
 61 | 		if case .insertTextArray(let array) = operation {
    |            `- error: type '_ErrorCodeProtocol' has no member 'insertTextArray'
 62 | 			if array.count != internalCursors.count {
 63 | 				throw CursorOperationError.insertArrayCountMismatch
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:164:17: error: cannot find 'UndoManager' in scope
162 |
163 | 		// set up the action we need to take on undo/redo
164 | 		let actions = UndoManager.GroupActions<MultiCursorState>(
    |                 `- error: cannot find 'UndoManager' in scope
165 | 			enter: { [textSystem] _ in
166 | 				textSystem.beginEditing()
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:165:26: error: cannot infer type of closure parameter '_' without a type annotation
163 | 		// set up the action we need to take on undo/redo
164 | 		let actions = UndoManager.GroupActions<MultiCursorState>(
165 | 			enter: { [textSystem] _ in
    |                          `- error: cannot infer type of closure parameter '_' without a type annotation
166 | 				textSystem.beginEditing()
167 | 			},
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:168:26: error: cannot infer type of closure parameter 'target' without a type annotation
166 | 				textSystem.beginEditing()
167 | 			},
168 | 			leave: { [textSystem] target in
    |                          `- error: cannot infer type of closure parameter 'target' without a type annotation
169 | 				textSystem.endEditing()
170 |
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:176:27: error: generic parameter 'Element' could not be inferred
174 | 				let currentSet = Set(self.internalCursors.map({ $0.id }))
175 |
176 | 				target.cursorsChanged(Set(), Set(), currentSet)
    |                           |- error: generic parameter 'Element' could not be inferred
    |                           `- note: explicitly specify the generic arguments to fix this issue
177 | 			}
178 | 		)
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:176:34: error: generic parameter 'Element' could not be inferred
174 | 				let currentSet = Set(self.internalCursors.map({ $0.id }))
175 |
176 | 				target.cursorsChanged(Set(), Set(), currentSet)
    |                                  |- error: generic parameter 'Element' could not be inferred
    |                                  `- note: explicitly specify the generic arguments to fix this issue
177 | 			}
178 | 		)
[24/29] Compiling IBeam MultiCursorState.swift
/host/spi-builder-workspace/Sources/IBeam/MockTextSystem.swift:23:41: error: cannot find type 'UndoManager' in scope
 21 | 	private var partialSystem: MutableStringPartialInterface
 22 | 	public var responses: [Response] = []
 23 | 	public var undoManagerProvider: (() -> UndoManager?)?
    |                                         `- error: cannot find type 'UndoManager' in scope
 24 |
 25 | 	public init(_ string: NSAttributedString) {
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:21:40: error: cannot find type 'UndoManager' in scope
 19 |
 20 | 	public var cursorsChanged: CursorChangedHandler = { _, _, _ in }
 21 | 	public var undoManagerProvider: () -> UndoManager? = { nil }
    |                                        `- error: cannot find type 'UndoManager' in scope
 22 |
 23 | 	public init(cursors: [Cursor<TextRange>], system: System) {
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:38:27: error: cannot find type 'UndoManager' in scope
 36 | 	}
 37 |
 38 | 	private var undoManager: UndoManager? {
    |                           `- error: cannot find type 'UndoManager' in scope
 39 | 		undoManagerProvider()
 40 | 	}
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:61:37: error: expression pattern of type '(_) -> InputOperation' cannot match values of type 'InputOperation'
 59 | 	private func validateOperation(_ operation: InputOperation) throws {
 60 | 		// check bounds for an array-based insert
 61 | 		if case .insertTextArray(let array) = operation {
    |                                     `- error: expression pattern of type '(_) -> InputOperation' cannot match values of type 'InputOperation'
 62 | 			if array.count != internalCursors.count {
 63 | 				throw CursorOperationError.insertArrayCountMismatch
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:61:12: error: type '_ErrorCodeProtocol' has no member 'insertTextArray'
 59 | 	private func validateOperation(_ operation: InputOperation) throws {
 60 | 		// check bounds for an array-based insert
 61 | 		if case .insertTextArray(let array) = operation {
    |            `- error: type '_ErrorCodeProtocol' has no member 'insertTextArray'
 62 | 			if array.count != internalCursors.count {
 63 | 				throw CursorOperationError.insertArrayCountMismatch
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:164:17: error: cannot find 'UndoManager' in scope
162 |
163 | 		// set up the action we need to take on undo/redo
164 | 		let actions = UndoManager.GroupActions<MultiCursorState>(
    |                 `- error: cannot find 'UndoManager' in scope
165 | 			enter: { [textSystem] _ in
166 | 				textSystem.beginEditing()
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:165:26: error: cannot infer type of closure parameter '_' without a type annotation
163 | 		// set up the action we need to take on undo/redo
164 | 		let actions = UndoManager.GroupActions<MultiCursorState>(
165 | 			enter: { [textSystem] _ in
    |                          `- error: cannot infer type of closure parameter '_' without a type annotation
166 | 				textSystem.beginEditing()
167 | 			},
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:168:26: error: cannot infer type of closure parameter 'target' without a type annotation
166 | 				textSystem.beginEditing()
167 | 			},
168 | 			leave: { [textSystem] target in
    |                          `- error: cannot infer type of closure parameter 'target' without a type annotation
169 | 				textSystem.endEditing()
170 |
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:176:27: error: generic parameter 'Element' could not be inferred
174 | 				let currentSet = Set(self.internalCursors.map({ $0.id }))
175 |
176 | 				target.cursorsChanged(Set(), Set(), currentSet)
    |                           |- error: generic parameter 'Element' could not be inferred
    |                           `- note: explicitly specify the generic arguments to fix this issue
177 | 			}
178 | 		)
/host/spi-builder-workspace/Sources/IBeam/MultiCursorState.swift:176:34: error: generic parameter 'Element' could not be inferred
174 | 				let currentSet = Set(self.internalCursors.map({ $0.id }))
175 |
176 | 				target.cursorsChanged(Set(), Set(), currentSet)
    |                                  |- error: generic parameter 'Element' could not be inferred
    |                                  `- note: explicitly specify the generic arguments to fix this issue
177 | 			}
178 | 		)
[25/29] Compiling IBeam MutableStringPartialSystem.swift
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:46:32: error: reference to member 'writingDirection' cannot be resolved without a contextual type
 44 |
 45 | 		let attrs = content.attributes(at: position, effectiveRange: nil)
 46 | 		guard let direction = attrs[.writingDirection] as? NSNumber else {
    |                                `- error: reference to member 'writingDirection' cannot be resolved without a contextual type
 47 | 			return nil
 48 | 		}
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:102:22: error: no exact matches in call to initializer
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
102 | 		let nsAttrString = NSAttributedString(string)
    |                      |- error: no exact matches in call to initializer
    |                      |- note: candidate expects value of type 'NSCoder' for parameter #1 (got 'AttributedString')
    |                      |- note: candidate expects value of type 'String' for parameter #1 (got 'AttributedString')
    |                      `- note: candidate expects value of type 'NSAttributedString' for parameter #1 (got 'AttributedString')
103 |
104 | 		return applyMutation(range, string: nsAttrString, undoManager: undoManager)
[26/29] Compiling IBeam NSResponder+CursorSelectors.swift
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:71:87: error: cannot find type 'UndoManager' in scope
 69 | 	}
 70 |
 71 | 	public func applyMutation(_ range: NSRange, string: NSAttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                       `- error: cannot find type 'UndoManager' in scope
 72 | 		let plainString = string.string
 73 | 		let length = plainString.utf16.count
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:101:85: error: cannot find type 'UndoManager' in scope
 99 | 	}
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
    |                                                                                     `- error: cannot find type 'UndoManager' in scope
102 | 		let nsAttrString = NSAttributedString(string)
103 |
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:46:32: error: reference to member 'writingDirection' cannot be resolved without a contextual type
 44 |
 45 | 		let attrs = content.attributes(at: position, effectiveRange: nil)
 46 | 		guard let direction = attrs[.writingDirection] as? NSNumber else {
    |                                `- error: reference to member 'writingDirection' cannot be resolved without a contextual type
 47 | 			return nil
 48 | 		}
/host/spi-builder-workspace/Sources/IBeam/MutableStringPartialSystem.swift:102:22: error: no exact matches in call to initializer
100 |
101 | 	public func applyMutation(_ range: NSRange, string: AttributedString, undoManager: UndoManager?) -> MutationOutput<NSRange> {
102 | 		let nsAttrString = NSAttributedString(string)
    |                      |- error: no exact matches in call to initializer
    |                      |- note: candidate expects value of type 'NSCoder' for parameter #1 (got 'AttributedString')
    |                      |- note: candidate expects value of type 'String' for parameter #1 (got 'AttributedString')
    |                      `- note: candidate expects value of type 'NSAttributedString' for parameter #1 (got 'AttributedString')
103 |
104 | 		return applyMutation(range, string: nsAttrString, undoManager: undoManager)
[27/29] Compiling IBeam InputOperation.swift
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:13:18: error: cannot find type 'AttributedString' in scope
11 | 	case moveUp
12 | 	case moveDown
13 | 	case insertText(AttributedString)
   |                  `- error: cannot find type 'AttributedString' in scope
14 | 	case insertTextArray([AttributedString])
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:19:19: error: cannot find 'AttributedString' in scope
17 |
18 | 	public static func insertText(_ value: String) -> InputOperation {
19 | 		Self.insertText(AttributedString(value))
   |                   `- error: cannot find 'AttributedString' in scope
20 | 	}
21 |
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:23:36: error: cannot find 'AttributedString' in scope
21 |
22 | 	public static func insertTextArray(_ value: [String]) -> InputOperation {
23 | 		Self.insertTextArray(value.map { AttributedString($0) })
   |                                    `- error: cannot find 'AttributedString' in scope
24 | 	}
25 |
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:27:3: error: type of expression is ambiguous without a type annotation
25 |
26 | 	func indexedOperation(for cursorIndex: Int) -> InputOperation {
27 | 		switch self {
   |   `- error: type of expression is ambiguous without a type annotation
28 | 		case let .insertTextArray(array):
29 | 			.insertText(array[cursorIndex])
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:81:9: error: member 'insertText' expects argument of type 'String'
79 | 		case .deleteBackwards:
80 | 			true
81 | 		case .insertText, .insertTextArray:
   |         `- error: member 'insertText' expects argument of type 'String'
82 | 			true
83 | 		default:
/host/spi-builder-workspace/Sources/IBeam/InputOperationProcessor.swift:47:24: error: pattern variable binding cannot appear in an expression
 45 |
 46 | 		switch operation {
 47 | 		case let .insertText(value):
    |                        `- error: pattern variable binding cannot appear in an expression
 48 | 			return try textSystem.applyMutation(range.range, string: value)
 49 | 		case let .deleteBackwards(value):
/host/spi-builder-workspace/Sources/IBeam/InputOperationProcessor.swift:73:9: error: member 'insertTextArray' expects argument of type '[String]'
 71 | 		case .moveToLeftEndOfLine:
 72 | 			return moveToLeftEndOfLine(textRange: range)
 73 | 		case .insertTextArray:
    |         `- error: member 'insertTextArray' expects argument of type '[String]'
 74 | 			fatalError("This operation cannot be processed on a per-cursor basis")
 75 | 		}
[28/29] Compiling IBeam InputOperationProcessor.swift
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:13:18: error: cannot find type 'AttributedString' in scope
11 | 	case moveUp
12 | 	case moveDown
13 | 	case insertText(AttributedString)
   |                  `- error: cannot find type 'AttributedString' in scope
14 | 	case insertTextArray([AttributedString])
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:14:24: error: cannot find type 'AttributedString' in scope
12 | 	case moveDown
13 | 	case insertText(AttributedString)
14 | 	case insertTextArray([AttributedString])
   |                        `- error: cannot find type 'AttributedString' in scope
15 | 	case moveToLeftEndOfLine(selecting: Bool = false)
16 | 	case moveToRightEndOfLine(selecting: Bool = false)
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:19:19: error: cannot find 'AttributedString' in scope
17 |
18 | 	public static func insertText(_ value: String) -> InputOperation {
19 | 		Self.insertText(AttributedString(value))
   |                   `- error: cannot find 'AttributedString' in scope
20 | 	}
21 |
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:23:36: error: cannot find 'AttributedString' in scope
21 |
22 | 	public static func insertTextArray(_ value: [String]) -> InputOperation {
23 | 		Self.insertTextArray(value.map { AttributedString($0) })
   |                                    `- error: cannot find 'AttributedString' in scope
24 | 	}
25 |
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:27:3: error: type of expression is ambiguous without a type annotation
25 |
26 | 	func indexedOperation(for cursorIndex: Int) -> InputOperation {
27 | 		switch self {
   |   `- error: type of expression is ambiguous without a type annotation
28 | 		case let .insertTextArray(array):
29 | 			.insertText(array[cursorIndex])
/host/spi-builder-workspace/Sources/IBeam/InputOperation.swift:81:9: error: member 'insertText' expects argument of type 'String'
79 | 		case .deleteBackwards:
80 | 			true
81 | 		case .insertText, .insertTextArray:
   |         `- error: member 'insertText' expects argument of type 'String'
82 | 			true
83 | 		default:
/host/spi-builder-workspace/Sources/IBeam/InputOperationProcessor.swift:47:24: error: pattern variable binding cannot appear in an expression
 45 |
 46 | 		switch operation {
 47 | 		case let .insertText(value):
    |                        `- error: pattern variable binding cannot appear in an expression
 48 | 			return try textSystem.applyMutation(range.range, string: value)
 49 | 		case let .deleteBackwards(value):
/host/spi-builder-workspace/Sources/IBeam/InputOperationProcessor.swift:73:9: error: member 'insertTextArray' expects argument of type '[String]'
 71 | 		case .moveToLeftEndOfLine:
 72 | 			return moveToLeftEndOfLine(textRange: range)
 73 | 		case .insertTextArray:
    |         `- error: member 'insertTextArray' expects argument of type '[String]'
 74 | 			fatalError("This operation cannot be processed on a per-cursor basis")
 75 | 		}
[29/29] Compiling IBeam UndoManager+GroupActions.swift
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:3:11: error: cannot find type 'UndoManager' in scope
 1 | import Foundation
 2 |
 3 | extension UndoManager {
   |           `- error: cannot find type 'UndoManager' in scope
 4 | 	var isActive: Bool {
 5 | 		isUndoing || isRedoing
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:9:11: error: cannot find type 'UndoManager' in scope
 7 | }
 8 |
 9 | extension UndoManager {
   |           `- error: cannot find type 'UndoManager' in scope
10 | 	/// A pair of actions to invoke when an undo group is entered/exited as part of an undo or redo.
11 | 	public struct GroupActions<T: AnyObject> {
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:28:49: error: cannot find type 'UndoManager' in scope
26 | 		///
27 | 		/// The actions will run even if the UndoManager argument is nil. If you don't want this behavior, check out the `UndoManager.withUndoGrouping` variant.
28 | 		public func withUndoGrouping(for undoManager: UndoManager?, target: T, _ block: () -> Void) {
   |                                                 `- error: cannot find type 'UndoManager' in scope
29 | 			guard let undoManager else {
30 | 				enter(target)
/host/spi-builder-workspace/Sources/IBeam/UndoManager+GroupActions.swift:50:65: error: cannot find type 'GroupActions' in scope
48 | 	}
49 |
50 | 	public func withUndoGrouping<T: AnyObject>(target: T, actions: GroupActions<T>, _ block: () -> Void) {
   |                                                                 `- error: cannot find type 'GroupActions' in scope
51 | 		beginUndoGrouping()
52 |
BUILD FAILURE 6.1 linux