The Swift Package Index logo.Swift Package Index

Build Information

Failed to build IBeam, reference main (3eb822), with Swift 6.2 for Wasm on 28 Apr 2026 18:22:08 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
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 3eb8229 move to beginning/end of document with cursor count fixes
Cloned https://github.com/ChimeHQ/IBeam.git
Revision (git rev-parse @):
3eb8229c68a260cf3c353e8c9e23ca25eca5e18b
SUCCESS checkout https://github.com/ChimeHQ/IBeam.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/ChimeHQ/IBeam.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1
wasm-6.2-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:2a8b2d9e022a9894c61e0736af7cdaa1ee64c002dbb133a55c0d7e8980b3ad16
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.2-latest
Fetching https://github.com/ChimeHQ/Ligature
Fetching https://github.com/ChimeHQ/Rearrange
[1/602] Fetching rearrange
[603/882] Fetching rearrange, ligature
Fetched https://github.com/ChimeHQ/Ligature from cache (0.36s)
Fetched https://github.com/ChimeHQ/Rearrange from cache (0.37s)
Computing version for https://github.com/ChimeHQ/Ligature
Computed https://github.com/ChimeHQ/Ligature at 0.1.1 (0.86s)
Fetching https://github.com/ChimeHQ/Glyph
[1/290] Fetching glyph
Fetched https://github.com/ChimeHQ/Glyph from cache (0.22s)
Computing version for https://github.com/ChimeHQ/Rearrange
Computed https://github.com/ChimeHQ/Rearrange at 2.1.1 (0.66s)
Computing version for https://github.com/ChimeHQ/Glyph
Computed https://github.com/ChimeHQ/Glyph at 0.1.1 (0.45s)
Creating working copy for https://github.com/ChimeHQ/Glyph
Working copy of https://github.com/ChimeHQ/Glyph resolved at 0.1.1
Creating working copy for https://github.com/ChimeHQ/Ligature
Working copy of https://github.com/ChimeHQ/Ligature resolved at 0.1.1
Creating working copy for https://github.com/ChimeHQ/Rearrange
Working copy of https://github.com/ChimeHQ/Rearrange resolved at 2.1.1
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
[6/24] Emitting module Glyph
[7/24] Compiling Glyph NSLayoutManager+Additions.swift
[8/24] Compiling Glyph NSTextLayoutFragment+Additions.swift
[9/24] Compiling Glyph NSTextLayoutManager+Additions.swift
[10/24] Compiling Glyph NSTextRange+NSRange.swift
[11/24] Compiling Glyph NSTextContainer+Additions.swift
[12/24] Compiling Glyph NSTextView+Additions.swift
[14/25] Compiling Rearrange String+NSRange.swift
[15/26] Compiling Rearrange NSTextRange+Bounded.swift
[16/26] Compiling Rearrange NSTextRange+NSRange.swift
[17/26] Compiling Rearrange RangeMutation.swift
[18/26] Compiling Rearrange IndexSet+NSRange.swift
[19/26] Compiling Rearrange NSRange+ApplyMutation.swift
[20/26] Compiling Rearrange NSRange+Convenience.swift
[21/26] Compiling Rearrange NSRange+Shift.swift
[22/26] Compiling Rearrange Bounded.swift
[23/26] Compiling Rearrange IndexSet+ApplyMutation.swift
[24/26] Emitting module Rearrange
[25/26] Compiling Rearrange UITextRange+Convenience.swift
[26/26] Compiling Rearrange TextRangeCalculating.swift
[28/37] Compiling Ligature TextView+TextRangeCalculating.swift
[29/37] Compiling Ligature TextInputStringTokenizer.swift
[30/38] Compiling Ligature TextRange+Bounded.swift
[31/38] Compiling Ligature TextTokenizer.swift
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:65: error: cannot find type 'TextGranularity' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                 `- error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:105: error: cannot find type 'TextDirection' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                         `- error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:131: error: cannot find type 'CGFloat' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                                                   `- error: cannot find type 'CGFloat' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:70: error: cannot find type 'TextGranularity' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                      `- error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:110: error: cannot find type 'TextDirection' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                                                              `- error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:64: error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                `- error: cannot find type 'TextGranularity' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:104: error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                        `- error: cannot find type 'TextDirection' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:68: error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                    `- error: cannot find type 'TextGranularity' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:108: error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                            `- error: cannot find type 'TextDirection' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:23:72: error: cannot find type 'TextGranularity' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:23:112: error: cannot find type 'TextDirection' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:24:93: error: 'nil' requires a contextual type
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
   |                                                                                             `- error: 'nil' requires a contextual type
25 | 	}
26 | }
[32/38] Compiling Ligature UTF16CodePointTextViewTextTokenizer.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[33/38] Emitting module Ligature
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:8:27: error: cannot find type 'TextGranularity' in scope
 6 |
 7 | 	public enum Request: Equatable {
 8 | 		case position(Position, TextGranularity, TextDirection)
   |                           `- error: cannot find type 'TextGranularity' in scope
 9 | 	}
10 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:8:44: error: cannot find type 'TextDirection' in scope
 6 |
 7 | 	public enum Request: Equatable {
 8 | 		case position(Position, TextGranularity, TextDirection)
   |                                            `- error: cannot find type 'TextDirection' in scope
 9 | 	}
10 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:7:14: error: type 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'
 5 | 	public typealias TextRange = R
 6 |
 7 | 	public enum Request: Equatable {
   |              |- error: type 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'
   |              `- note: add stubs for conformance
 8 | 		case position(Position, TextGranularity, TextDirection)
   |                           |                `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'
   |                           `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'
 9 | 	}
10 |
Swift.==:1:24: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(MockTextTokenizer<R>.Request, MockTextTokenizer<R>.Request) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(MockTextTokenizer<R>.Request, MockTextTokenizer<R>.Request) -> Bool'
3 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:26:72: error: cannot find type 'TextGranularity' in scope
24 | 	}
25 |
26 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
27 | 		requests.append(.position(position, granularity, direction))
28 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:26:112: error: cannot find type 'TextDirection' in scope
24 | 	}
25 |
26 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
27 | 		requests.append(.position(position, granularity, direction))
28 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:37:77: error: cannot find type 'TextGranularity' in scope
35 | 	}
36 |
37 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> R? {
   |                                                                             `- error: cannot find type 'TextGranularity' in scope
38 | 		return nil
39 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:37:117: error: cannot find type 'TextDirection' in scope
35 | 	}
36 |
37 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> R? {
   |                                                                                                                     `- error: cannot find type 'TextDirection' in scope
38 | 		return nil
39 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:41:71: error: cannot find type 'TextGranularity' in scope
39 | 	}
40 |
41 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                       `- error: cannot find type 'TextGranularity' in scope
42 | 		return false
43 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:41:111: error: cannot find type 'TextDirection' in scope
39 | 	}
40 |
41 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                               `- error: cannot find type 'TextDirection' in scope
42 | 		return false
43 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:45:75: error: cannot find type 'TextGranularity' in scope
43 | 	}
44 |
45 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                           `- error: cannot find type 'TextGranularity' in scope
46 | 		return false
47 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:45:115: error: cannot find type 'TextDirection' in scope
43 | 	}
44 |
45 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                                   `- error: cannot find type 'TextDirection' in scope
46 | 		return false
47 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:65: error: cannot find type 'TextGranularity' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                 `- error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:105: error: cannot find type 'TextDirection' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                         `- error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:131: error: cannot find type 'CGFloat' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                                                   `- error: cannot find type 'CGFloat' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:70: error: cannot find type 'TextGranularity' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                      `- error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:110: error: cannot find type 'TextDirection' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                                                              `- error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:64: error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                `- error: cannot find type 'TextGranularity' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:104: error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                        `- error: cannot find type 'TextDirection' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:68: error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                    `- error: cannot find type 'TextGranularity' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:108: error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                            `- error: cannot find type 'TextDirection' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/NSTextSelection+Extensions.swift:9:11: error: cannot find type 'NSTextSelection' in scope
 7 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
 8 | @available(watchOS, unavailable)
 9 | extension NSTextSelection.Granularity {
   |           `- error: cannot find type 'NSTextSelection' in scope
10 | 	public init(_ granularity: TextGranularity) {
11 | 		switch granularity {
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:14:72: error: cannot find type 'TextGranularity' in scope
12 |
13 | extension SourceTokenizer: TextTokenizer {
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
16 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:14:112: error: cannot find type 'TextDirection' in scope
12 |
13 | extension SourceTokenizer: TextTokenizer {
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
16 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:18:77: error: cannot find type 'TextGranularity' in scope
16 | 	}
17 |
18 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> FallbackTokenzier.TextRange? {
   |                                                                             `- error: cannot find type 'TextGranularity' in scope
19 | 		return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
20 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:18:117: error: cannot find type 'TextDirection' in scope
16 | 	}
17 |
18 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> FallbackTokenzier.TextRange? {
   |                                                                                                                     `- error: cannot find type 'TextDirection' in scope
19 | 		return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
20 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:22:71: error: cannot find type 'TextGranularity' in scope
20 | 	}
21 |
22 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                       `- error: cannot find type 'TextGranularity' in scope
23 | 		return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
24 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:22:111: error: cannot find type 'TextDirection' in scope
20 | 	}
21 |
22 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                               `- error: cannot find type 'TextDirection' in scope
23 | 		return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
24 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:26:75: error: cannot find type 'TextGranularity' in scope
24 | 	}
25 |
26 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                           `- error: cannot find type 'TextGranularity' in scope
27 | 		return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
28 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:26:115: error: cannot find type 'TextDirection' in scope
24 | 	}
25 |
26 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                                   `- error: cannot find type 'TextDirection' in scope
27 | 		return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
28 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:13:1: error: type 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'
11 | }
12 |
13 | extension SourceTokenizer: TextTokenizer {
   | |- error: type 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'
   | `- note: add stubs for conformance
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:11:17: note: protocol requires nested type 'TextRange'
 9 | @MainActor
10 | public protocol TextTokenizer<TextRange> {
11 | 	associatedtype TextRange: Bounded
   |                 `- note: protocol requires nested type 'TextRange'
12 |
13 | 	typealias Position = TextRange.Bound
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextDirection+Extensions.swift:1:11: error: cannot find type 'TextLayoutDirection' in scope
 1 | extension TextLayoutDirection {
   |           `- error: cannot find type 'TextLayoutDirection' in scope
 2 | 	public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
 3 | 		switch (self, layout) {
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextDirection+Extensions.swift:16:11: error: cannot find type 'TextDirection' in scope
14 | }
15 |
16 | extension TextDirection {
   |           `- error: cannot find type 'TextDirection' in scope
17 | 	public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
18 | 		switch rawValue {
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:23:72: error: cannot find type 'TextGranularity' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:23:112: error: cannot find type 'TextDirection' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
[34/38] Compiling Ligature TextDirection+Extensions.swift
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextDirection+Extensions.swift:1:11: error: cannot find type 'TextLayoutDirection' in scope
 1 | extension TextLayoutDirection {
   |           `- error: cannot find type 'TextLayoutDirection' in scope
 2 | 	public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
 3 | 		switch (self, layout) {
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextDirection+Extensions.swift:16:11: error: cannot find type 'TextDirection' in scope
14 | }
15 |
16 | extension TextDirection {
   |           `- error: cannot find type 'TextDirection' in scope
17 | 	public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
18 | 		switch rawValue {
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextDirection+Extensions.swift:2:81: error: cannot find type 'TextStorageDirection' in scope
 1 | extension TextLayoutDirection {
 2 | 	public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
   |                                                                                 `- error: cannot find type 'TextStorageDirection' in scope
 3 | 		switch (self, layout) {
 4 | 		case (.left, .leftToRight), (.right, .rightToLeft):
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextDirection+Extensions.swift:2:48: error: cannot find type 'UserInterfaceLayoutDirection' in scope
 1 | extension TextLayoutDirection {
 2 | 	public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
   |                                                `- error: cannot find type 'UserInterfaceLayoutDirection' in scope
 3 | 		switch (self, layout) {
 4 | 		case (.left, .leftToRight), (.right, .rightToLeft):
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextDirection+Extensions.swift:17:81: error: cannot find type 'TextStorageDirection' in scope
15 |
16 | extension TextDirection {
17 | 	public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
   |                                                                                 `- error: cannot find type 'TextStorageDirection' in scope
18 | 		switch rawValue {
19 | 		case TextStorageDirection.forward.rawValue:
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextDirection+Extensions.swift:17:48: error: cannot find type 'UserInterfaceLayoutDirection' in scope
15 |
16 | extension TextDirection {
17 | 	public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
   |                                                `- error: cannot find type 'UserInterfaceLayoutDirection' in scope
18 | 		switch rawValue {
19 | 		case TextStorageDirection.forward.rawValue:
[35/38] Compiling Ligature Platform.swift
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:14:72: error: cannot find type 'TextGranularity' in scope
12 |
13 | extension SourceTokenizer: TextTokenizer {
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
16 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:14:112: error: cannot find type 'TextDirection' in scope
12 |
13 | extension SourceTokenizer: TextTokenizer {
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
16 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:18:77: error: cannot find type 'TextGranularity' in scope
16 | 	}
17 |
18 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> FallbackTokenzier.TextRange? {
   |                                                                             `- error: cannot find type 'TextGranularity' in scope
19 | 		return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
20 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:18:117: error: cannot find type 'TextDirection' in scope
16 | 	}
17 |
18 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> FallbackTokenzier.TextRange? {
   |                                                                                                                     `- error: cannot find type 'TextDirection' in scope
19 | 		return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
20 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:22:71: error: cannot find type 'TextGranularity' in scope
20 | 	}
21 |
22 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                       `- error: cannot find type 'TextGranularity' in scope
23 | 		return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
24 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:22:111: error: cannot find type 'TextDirection' in scope
20 | 	}
21 |
22 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                               `- error: cannot find type 'TextDirection' in scope
23 | 		return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
24 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:26:75: error: cannot find type 'TextGranularity' in scope
24 | 	}
25 |
26 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                           `- error: cannot find type 'TextGranularity' in scope
27 | 		return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
28 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:26:115: error: cannot find type 'TextDirection' in scope
24 | 	}
25 |
26 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                                   `- error: cannot find type 'TextDirection' in scope
27 | 		return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
28 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:65: error: cannot find type 'TextGranularity' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                 `- error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:105: error: cannot find type 'TextDirection' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                         `- error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:131: error: cannot find type 'CGFloat' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                                                   `- error: cannot find type 'CGFloat' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:70: error: cannot find type 'TextGranularity' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                      `- error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:110: error: cannot find type 'TextDirection' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                                                              `- error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:64: error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                `- error: cannot find type 'TextGranularity' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:104: error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                        `- error: cannot find type 'TextDirection' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:68: error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                    `- error: cannot find type 'TextGranularity' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:108: error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                            `- error: cannot find type 'TextDirection' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:13:1: error: type 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'
11 | }
12 |
13 | extension SourceTokenizer: TextTokenizer {
   | |- error: type 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'
   | `- note: add stubs for conformance
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:11:17: note: protocol requires nested type 'TextRange'
 9 | @MainActor
10 | public protocol TextTokenizer<TextRange> {
11 | 	associatedtype TextRange: Bounded
   |                 `- note: protocol requires nested type 'TextRange'
12 |
13 | 	typealias Position = TextRange.Bound
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:23:72: error: cannot find type 'TextGranularity' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:23:112: error: cannot find type 'TextDirection' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
[36/38] Compiling Ligature SourceTokenizer.swift
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:14:72: error: cannot find type 'TextGranularity' in scope
12 |
13 | extension SourceTokenizer: TextTokenizer {
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
16 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:14:112: error: cannot find type 'TextDirection' in scope
12 |
13 | extension SourceTokenizer: TextTokenizer {
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
16 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:18:77: error: cannot find type 'TextGranularity' in scope
16 | 	}
17 |
18 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> FallbackTokenzier.TextRange? {
   |                                                                             `- error: cannot find type 'TextGranularity' in scope
19 | 		return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
20 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:18:117: error: cannot find type 'TextDirection' in scope
16 | 	}
17 |
18 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> FallbackTokenzier.TextRange? {
   |                                                                                                                     `- error: cannot find type 'TextDirection' in scope
19 | 		return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
20 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:22:71: error: cannot find type 'TextGranularity' in scope
20 | 	}
21 |
22 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                       `- error: cannot find type 'TextGranularity' in scope
23 | 		return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
24 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:22:111: error: cannot find type 'TextDirection' in scope
20 | 	}
21 |
22 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                               `- error: cannot find type 'TextDirection' in scope
23 | 		return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
24 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:26:75: error: cannot find type 'TextGranularity' in scope
24 | 	}
25 |
26 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                           `- error: cannot find type 'TextGranularity' in scope
27 | 		return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
28 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:26:115: error: cannot find type 'TextDirection' in scope
24 | 	}
25 |
26 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                                   `- error: cannot find type 'TextDirection' in scope
27 | 		return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
28 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:65: error: cannot find type 'TextGranularity' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                 `- error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:105: error: cannot find type 'TextDirection' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                         `- error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:131: error: cannot find type 'CGFloat' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                                                   `- error: cannot find type 'CGFloat' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:70: error: cannot find type 'TextGranularity' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                      `- error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:110: error: cannot find type 'TextDirection' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                                                              `- error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:64: error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                `- error: cannot find type 'TextGranularity' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:104: error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                        `- error: cannot find type 'TextDirection' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:68: error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                    `- error: cannot find type 'TextGranularity' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:108: error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                            `- error: cannot find type 'TextDirection' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/SourceTokenizer.swift:13:1: error: type 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'
11 | }
12 |
13 | extension SourceTokenizer: TextTokenizer {
   | |- error: type 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'
   | `- note: add stubs for conformance
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:11:17: note: protocol requires nested type 'TextRange'
 9 | @MainActor
10 | public protocol TextTokenizer<TextRange> {
11 | 	associatedtype TextRange: Bounded
   |                 `- note: protocol requires nested type 'TextRange'
12 |
13 | 	typealias Position = TextRange.Bound
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:23:72: error: cannot find type 'TextGranularity' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:23:112: error: cannot find type 'TextDirection' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
[37/38] Compiling Ligature MockTextTokenizer.swift
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:8:27: error: cannot find type 'TextGranularity' in scope
 6 |
 7 | 	public enum Request: Equatable {
 8 | 		case position(Position, TextGranularity, TextDirection)
   |                           `- error: cannot find type 'TextGranularity' in scope
 9 | 	}
10 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:8:44: error: cannot find type 'TextDirection' in scope
 6 |
 7 | 	public enum Request: Equatable {
 8 | 		case position(Position, TextGranularity, TextDirection)
   |                                            `- error: cannot find type 'TextDirection' in scope
 9 | 	}
10 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:7:14: error: type 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'
 5 | 	public typealias TextRange = R
 6 |
 7 | 	public enum Request: Equatable {
   |              |- error: type 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'
   |              `- note: add stubs for conformance
 8 | 		case position(Position, TextGranularity, TextDirection)
   |                           |                `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'
   |                           `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'
 9 | 	}
10 |
Swift.==:1:24: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(MockTextTokenizer<R>.Request, MockTextTokenizer<R>.Request) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(MockTextTokenizer<R>.Request, MockTextTokenizer<R>.Request) -> Bool'
3 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:26:72: error: cannot find type 'TextGranularity' in scope
24 | 	}
25 |
26 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
27 | 		requests.append(.position(position, granularity, direction))
28 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:26:112: error: cannot find type 'TextDirection' in scope
24 | 	}
25 |
26 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
27 | 		requests.append(.position(position, granularity, direction))
28 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:37:77: error: cannot find type 'TextGranularity' in scope
35 | 	}
36 |
37 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> R? {
   |                                                                             `- error: cannot find type 'TextGranularity' in scope
38 | 		return nil
39 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:37:117: error: cannot find type 'TextDirection' in scope
35 | 	}
36 |
37 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> R? {
   |                                                                                                                     `- error: cannot find type 'TextDirection' in scope
38 | 		return nil
39 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:41:71: error: cannot find type 'TextGranularity' in scope
39 | 	}
40 |
41 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                       `- error: cannot find type 'TextGranularity' in scope
42 | 		return false
43 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:41:111: error: cannot find type 'TextDirection' in scope
39 | 	}
40 |
41 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                               `- error: cannot find type 'TextDirection' in scope
42 | 		return false
43 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:45:75: error: cannot find type 'TextGranularity' in scope
43 | 	}
44 |
45 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                           `- error: cannot find type 'TextGranularity' in scope
46 | 		return false
47 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:45:115: error: cannot find type 'TextDirection' in scope
43 | 	}
44 |
45 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                                   `- error: cannot find type 'TextDirection' in scope
46 | 		return false
47 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:65: error: cannot find type 'TextGranularity' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                 `- error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:105: error: cannot find type 'TextDirection' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                         `- error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:131: error: cannot find type 'CGFloat' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                                                   `- error: cannot find type 'CGFloat' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:70: error: cannot find type 'TextGranularity' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                      `- error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:110: error: cannot find type 'TextDirection' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                                                              `- error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:64: error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                `- error: cannot find type 'TextGranularity' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:104: error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                        `- error: cannot find type 'TextDirection' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:68: error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                    `- error: cannot find type 'TextGranularity' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:108: error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                            `- error: cannot find type 'TextDirection' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/NSTextSelection+Extensions.swift:9:11: error: cannot find type 'NSTextSelection' in scope
 7 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
 8 | @available(watchOS, unavailable)
 9 | extension NSTextSelection.Granularity {
   |           `- error: cannot find type 'NSTextSelection' in scope
10 | 	public init(_ granularity: TextGranularity) {
11 | 		switch granularity {
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/NSTextSelection+Extensions.swift:10:29: error: cannot find type 'TextGranularity' in scope
 8 | @available(watchOS, unavailable)
 9 | extension NSTextSelection.Granularity {
10 | 	public init(_ granularity: TextGranularity) {
   |                             `- error: cannot find type 'TextGranularity' in scope
11 | 		switch granularity {
12 | 		case .character:
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/NSTextSelection+Extensions.swift:29:30: error: cannot find type 'TextGranularity' in scope
27 | 	}
28 |
29 | 	public var textGranularity: TextGranularity {
   |                              `- error: cannot find type 'TextGranularity' in scope
30 | 		switch self {
31 | 		case .character:
[38/38] Compiling Ligature NSTextSelection+Extensions.swift
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:8:27: error: cannot find type 'TextGranularity' in scope
 6 |
 7 | 	public enum Request: Equatable {
 8 | 		case position(Position, TextGranularity, TextDirection)
   |                           `- error: cannot find type 'TextGranularity' in scope
 9 | 	}
10 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:8:44: error: cannot find type 'TextDirection' in scope
 6 |
 7 | 	public enum Request: Equatable {
 8 | 		case position(Position, TextGranularity, TextDirection)
   |                                            `- error: cannot find type 'TextDirection' in scope
 9 | 	}
10 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:7:14: error: type 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'
 5 | 	public typealias TextRange = R
 6 |
 7 | 	public enum Request: Equatable {
   |              |- error: type 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'
   |              `- note: add stubs for conformance
 8 | 		case position(Position, TextGranularity, TextDirection)
   |                           |                `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'
   |                           `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'
 9 | 	}
10 |
Swift.==:1:24: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(MockTextTokenizer<R>.Request, MockTextTokenizer<R>.Request) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(MockTextTokenizer<R>.Request, MockTextTokenizer<R>.Request) -> Bool'
3 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:26:72: error: cannot find type 'TextGranularity' in scope
24 | 	}
25 |
26 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
27 | 		requests.append(.position(position, granularity, direction))
28 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:26:112: error: cannot find type 'TextDirection' in scope
24 | 	}
25 |
26 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
27 | 		requests.append(.position(position, granularity, direction))
28 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:37:77: error: cannot find type 'TextGranularity' in scope
35 | 	}
36 |
37 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> R? {
   |                                                                             `- error: cannot find type 'TextGranularity' in scope
38 | 		return nil
39 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:37:117: error: cannot find type 'TextDirection' in scope
35 | 	}
36 |
37 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> R? {
   |                                                                                                                     `- error: cannot find type 'TextDirection' in scope
38 | 		return nil
39 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:41:71: error: cannot find type 'TextGranularity' in scope
39 | 	}
40 |
41 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                       `- error: cannot find type 'TextGranularity' in scope
42 | 		return false
43 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:41:111: error: cannot find type 'TextDirection' in scope
39 | 	}
40 |
41 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                               `- error: cannot find type 'TextDirection' in scope
42 | 		return false
43 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:45:75: error: cannot find type 'TextGranularity' in scope
43 | 	}
44 |
45 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                           `- error: cannot find type 'TextGranularity' in scope
46 | 		return false
47 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/MockTextTokenizer.swift:45:115: error: cannot find type 'TextDirection' in scope
43 | 	}
44 |
45 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                                   `- error: cannot find type 'TextDirection' in scope
46 | 		return false
47 | 	}
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:65: error: cannot find type 'TextGranularity' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                 `- error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:105: error: cannot find type 'TextDirection' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                         `- error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:15:131: error: cannot find type 'CGFloat' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                                                   `- error: cannot find type 'CGFloat' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:70: error: cannot find type 'TextGranularity' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                      `- error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:16:110: error: cannot find type 'TextDirection' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                                                              `- error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:64: error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                `- error: cannot find type 'TextGranularity' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:18:104: error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                        `- error: cannot find type 'TextDirection' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:68: error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                    `- error: cannot find type 'TextGranularity' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/TextTokenizer.swift:19:108: error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                            `- error: cannot find type 'TextDirection' in scope
20 | }
21 |
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/NSTextSelection+Extensions.swift:9:11: error: cannot find type 'NSTextSelection' in scope
 7 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
 8 | @available(watchOS, unavailable)
 9 | extension NSTextSelection.Granularity {
   |           `- error: cannot find type 'NSTextSelection' in scope
10 | 	public init(_ granularity: TextGranularity) {
11 | 		switch granularity {
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/NSTextSelection+Extensions.swift:10:29: error: cannot find type 'TextGranularity' in scope
 8 | @available(watchOS, unavailable)
 9 | extension NSTextSelection.Granularity {
10 | 	public init(_ granularity: TextGranularity) {
   |                             `- error: cannot find type 'TextGranularity' in scope
11 | 		switch granularity {
12 | 		case .character:
/host/spi-builder-workspace/.build/checkouts/Ligature/Sources/Ligature/NSTextSelection+Extensions.swift:29:30: error: cannot find type 'TextGranularity' in scope
27 | 	}
28 |
29 | 	public var textGranularity: TextGranularity {
   |                              `- error: cannot find type 'TextGranularity' in scope
30 | 		switch self {
31 | 		case .character:
BUILD FAILURE 6.2 wasm