Build Information
Failed to build Ligature, reference main (3bdbcd), with Swift 6.4 for Linux on 25 Sep 2026 00:46:23 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ChimeHQ/Ligature.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/Ligature
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 3bdbcd3 Remove chat, funding
Cloned https://github.com/ChimeHQ/Ligature.git
Revision (git rev-parse @):
3bdbcd3c0188c813664e4cccadb19601cea8ef5f
SUCCESS checkout https://github.com/ChimeHQ/Ligature.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.4
Building package at path: $PWD
https://github.com/ChimeHQ/Ligature.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/ChimeHQ/Rearrange
Fetching https://github.com/ChimeHQ/Glyph
[1/609] Fetching rearrange
Fetched https://github.com/ChimeHQ/Rearrange (0.43s)
[1/294] Fetching glyph
Fetched https://github.com/ChimeHQ/Glyph (0.50s)
Computing version for https://github.com/ChimeHQ/Rearrange
Computed https://github.com/ChimeHQ/Rearrange at 2.1.1 (0.81s)
Computing version for https://github.com/ChimeHQ/Glyph
Computed https://github.com/ChimeHQ/Glyph at 0.1.1 (0.30s)
Creating working copy for https://github.com/ChimeHQ/Rearrange
Working copy of https://github.com/ChimeHQ/Rearrange resolved at 2.1.1
Creating working copy for https://github.com/ChimeHQ/Glyph
Working copy of https://github.com/ChimeHQ/Glyph resolved at 0.1.1
Building for debugging...
[Provisioning 4 / 7]
[Planning deferred tasks]
[40 / 70] Glyph
[41 / 70] Rearrange
[52 / 70] Glyph
[56 / 70] Rearrange
[57 / 70] Glyph
[61 / 80] Ligature
[62 / 81] Ligature
[68 / 82] Rearrange
error: SwiftCompile normal x86_64 /host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift failed with a nonzero exit code. Command line: cd /host
builtin-SwiftPerFileCompile MockTextTokenizer.swift
error: SwiftCompile normal x86_64 /host/spi-builder-workspace/Sources/Ligature/NSTextSelection+Extensions.swift failed with a nonzero exit code. Command line: cd /host
builtin-SwiftPerFileCompile NSTextSelection+Extensions.swift
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:8:27: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m6 |[0;0m
[0;36m7 |[0;0m public enum Request: Equatable {
[0;36m8 |[0;0m case position(Position, [4;39mTextGranularity[0;0m, TextDirection)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m9 |[0;0m }
[0;36m10 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:8:44: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m6 |[0;0m
[0;36m7 |[0;0m public enum Request: Equatable {
[0;36m8 |[0;0m case position(Position, TextGranularity, [4;39mTextDirection[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m9 |[0;0m }
[0;36m10 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:7:14: [1;31merror: [1;39mtype 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'[0;0m
[0;36m5 |[0;0m public typealias TextRange = R
[0;36m6 |[0;0m
[0;36m7 |[0;0m public enum Request: Equatable {
[0;36m|[0;0m |- [1;31merror: [1;39mtype 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd stubs for conformance[0;0m
[0;36m8 |[0;0m case position(Position, TextGranularity, TextDirection)
[0;36m|[0;0m | `- [1;39mnote: [1;39massociated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39massociated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'[0;0m
[0;36m9 |[0;0m }
[0;36m10 |[0;0m
Swift.==:1:24: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'[0;0m
[0;36m1 |[0;0m @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'[0;0m
Swift.FloatingPoint.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'[0;0m
[0;36m1 |[0;0m protocol FloatingPoint {
[0;36m2 |[0;0m public static func == (lhs: Self, rhs: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'[0;0m
[0;36m3 |[0;0m
Swift.BinaryInteger.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'[0;0m
[0;36m1 |[0;0m protocol BinaryInteger {
[0;36m2 |[0;0m public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'[0;0m
[0;36m3 |[0;0m
Swift._Pointer.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'[0;0m
[0;36m1 |[0;0m protocol _Pointer {
[0;36m2 |[0;0m public static func == (lhs: Self, rhs: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'[0;0m
[0;36m3 |[0;0m
Swift._Pointer.==:2:31: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'[0;0m
[0;36m1 |[0;0m protocol _Pointer {
[0;36m2 |[0;0m @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'[0;0m
[0;36m3 |[0;0m
Swift.Strideable.==:2:31: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'[0;0m
[0;36m1 |[0;0m protocol Strideable {
[0;36m2 |[0;0m @inlinable public static func == (x: Self, y: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'[0;0m
[0;36m3 |[0;0m
Swift.StringProtocol.==:2:31: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'[0;0m
[0;36m1 |[0;0m protocol StringProtocol {
[0;36m2 |[0;0m @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'[0;0m
[0;36m3 |[0;0m
Swift.SIMD.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'[0;0m
[0;36m1 |[0;0m protocol SIMD {
[0;36m2 |[0;0m public static func == (a: Self, b: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'[0;0m
[0;36m3 |[0;0m
Foundation.__BridgedNSError.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'[0;0m
[0;36m1 |[0;0m protocol __BridgedNSError {
[0;36m2 |[0;0m public static func == (lhs: Self, rhs: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'[0;0m
[0;36m3 |[0;0m
Foundation._BridgedStoredNSError.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'[0;0m
[0;36m1 |[0;0m protocol _BridgedStoredNSError {
[0;36m2 |[0;0m public static func == (lhs: Self, rhs: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'[0;0m
[0;36m3 |[0;0m
FoundationEssentials.AttributedStringProtocol.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'[0;0m
[0;36m1 |[0;0m protocol AttributedStringProtocol {
[0;36m2 |[0;0m public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'[0;0m
[0;36m3 |[0;0m
Swift.Equatable.==:2:13: [1;39mnote: [1;39mprotocol requires function '==' with type '(borrowing MockTextTokenizer<R>.Request, borrowing MockTextTokenizer<R>.Request) -> Bool'[0;0m
[0;36m1 |[0;0m protocol Equatable {
[0;36m2 |[0;0m static func == (lhs: borrowing Self, rhs: borrowing Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires function '==' with type '(borrowing MockTextTokenizer<R>.Request, borrowing MockTextTokenizer<R>.Request) -> Bool'[0;0m
[0;36m3 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:26:72: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m
[0;36m26 |[0;0m public func position(from position: Position, toBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m27 |[0;0m requests.append(.position(position, granularity, direction))
[0;36m28 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:26:112: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m
[0;36m26 |[0;0m public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m, alignment: CGFloat?) -> Position? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m27 |[0;0m requests.append(.position(position, granularity, direction))
[0;36m28 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:37:77: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m35 |[0;0m }
[0;36m36 |[0;0m
[0;36m37 |[0;0m public func rangeEnclosingPosition(_ position: Position, with granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> R? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m38 |[0;0m return nil
[0;36m39 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:37:117: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m35 |[0;0m }
[0;36m36 |[0;0m
[0;36m37 |[0;0m public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> R? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m38 |[0;0m return nil
[0;36m39 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:41:71: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m39 |[0;0m }
[0;36m40 |[0;0m
[0;36m41 |[0;0m public func isPosition(_ position: Position, atBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m42 |[0;0m return false
[0;36m43 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:41:111: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m39 |[0;0m }
[0;36m40 |[0;0m
[0;36m41 |[0;0m public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m42 |[0;0m return false
[0;36m43 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:45:75: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m43 |[0;0m }
[0;36m44 |[0;0m
[0;36m45 |[0;0m public func isPosition(_ position: Position, withinTextUnit granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m46 |[0;0m return false
[0;36m47 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:45:115: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m43 |[0;0m }
[0;36m44 |[0;0m
[0;36m45 |[0;0m public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m46 |[0;0m return false
[0;36m47 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:15:65: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m13 |[0;0m typealias Position = TextRange.Bound
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:15:105: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m13 |[0;0m typealias Position = TextRange.Bound
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m, alignment: CGFloat?) -> Position?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:15:131: [1;31merror: [1;39mcannot find type 'CGFloat' in scope[0;0m
[0;36m13 |[0;0m typealias Position = TextRange.Bound
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: [4;39mCGFloat[0;0m?) -> Position?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'CGFloat' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:16:70: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> TextRange?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:16:110: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> TextRange?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:18:64: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m19 |[0;0m func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
[0;36m20 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:18:104: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m19 |[0;0m func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
[0;36m20 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:19:68: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
[0;36m19 |[0;0m func isPosition(_ position: Position, withinTextUnit granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m20 |[0;0m }
[0;36m21 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:19:108: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
[0;36m19 |[0;0m func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m20 |[0;0m }
[0;36m21 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/NSTextSelection+Extensions.swift:9:11: [1;31merror: [1;39mcannot find type 'NSTextSelection' in scope[0;0m
[0;36m7 |[0;0m @available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
[0;36m8 |[0;0m @available(watchOS, unavailable)
[0;36m9 |[0;0m extension [4;39mNSTextSelection[0;0m.Granularity {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSTextSelection' in scope[0;0m
[0;36m10 |[0;0m public init(_ granularity: TextGranularity) {
[0;36m11 |[0;0m switch granularity {
/host/spi-builder-workspace/Sources/Ligature/NSTextSelection+Extensions.swift:10:29: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m8 |[0;0m @available(watchOS, unavailable)
[0;36m9 |[0;0m extension NSTextSelection.Granularity {
[0;36m10 |[0;0m public init(_ granularity: [4;39mTextGranularity[0;0m) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m11 |[0;0m switch granularity {
[0;36m12 |[0;0m case .character:
/host/spi-builder-workspace/Sources/Ligature/NSTextSelection+Extensions.swift:29:30: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m27 |[0;0m }
[0;36m28 |[0;0m
[0;36m29 |[0;0m public var textGranularity: [4;39mTextGranularity[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m30 |[0;0m switch self {
[0;36m31 |[0;0m case .character:
Failed frontend command:
/usr/bin/swift-frontend -frontend -c -primary-file /host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift -primary-file /host/spi-builder-workspace/Sources/Ligature/NSTextSelection+Extensions.swift /host/spi-builder-workspace/Sources/Ligature/Platform.swift /host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/TextDirection+Extensions.swift /host/spi-builder-workspace/Sources/Ligature/TextInputStringTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/TextRange+Bounded.swift /host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/TextView+TextRangeCalculating.swift /host/spi-builder-workspace/Sources/Ligature/UTF16CodePointTextViewTextTokenizer.swift -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/MockTextTokenizer.d -emit-const-values-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/MockTextTokenizer.swiftconstvalues -emit-reference-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/MockTextTokenizer.swiftdeps -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/MockTextTokenizer.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/NSTextSelection+Extensions.d -emit-const-values-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/NSTextSelection+Extensions.swiftconstvalues -emit-reference-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/NSTextSelection+Extensions.swiftdeps -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/NSTextSelection+Extensions.dia -target x86_64-unknown-linux-gnu -disable-objc-interop -I /host/spi-builder-workspace/.build/out/Products/Debug-linux-x86_64 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -fno-omit-frame-pointer -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-linux-x86_64/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/DerivedSources-normal/x86_64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/DerivedSources/x86_64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Ligature -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/Ligature_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/MockTextTokenizer.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/NSTextSelection+Extensions.o -index-unit-output-path /Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/MockTextTokenizer.o -index-unit-output-path /Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/NSTextSelection+Extensions.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: SwiftCompile normal x86_64 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:8:27: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m6 |[0;0m
[0;36m7 |[0;0m public enum Request: Equatable {
[0;36m8 |[0;0m case position(Position, [4;39mTextGranularity[0;0m, TextDirection)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m9 |[0;0m }
[0;36m10 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:8:44: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m6 |[0;0m
[0;36m7 |[0;0m public enum Request: Equatable {
[0;36m8 |[0;0m case position(Position, TextGranularity, [4;39mTextDirection[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m9 |[0;0m }
[0;36m10 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:7:14: [1;31merror: [1;39mtype 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'[0;0m
[0;36m5 |[0;0m public typealias TextRange = R
[0;36m6 |[0;0m
[0;36m7 |[0;0m public enum Request: Equatable {
[0;36m|[0;0m |- [1;31merror: [1;39mtype 'MockTextTokenizer<R>.Request' does not conform to protocol 'Equatable'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd stubs for conformance[0;0m
[0;36m8 |[0;0m case position(Position, TextGranularity, TextDirection)
[0;36m|[0;0m | `- [1;39mnote: [1;39massociated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39massociated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'MockTextTokenizer<R>.Request' to 'Equatable'[0;0m
[0;36m9 |[0;0m }
[0;36m10 |[0;0m
Swift.==:1:24: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'[0;0m
[0;36m1 |[0;0m @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'RawRepresentable'[0;0m
Swift.FloatingPoint.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'[0;0m
[0;36m1 |[0;0m protocol FloatingPoint {
[0;36m2 |[0;0m public static func == (lhs: Self, rhs: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'FloatingPoint'[0;0m
[0;36m3 |[0;0m
Swift.BinaryInteger.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'[0;0m
[0;36m1 |[0;0m protocol BinaryInteger {
[0;36m2 |[0;0m public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'BinaryInteger'[0;0m
[0;36m3 |[0;0m
Swift._Pointer.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'[0;0m
[0;36m1 |[0;0m protocol _Pointer {
[0;36m2 |[0;0m public static func == (lhs: Self, rhs: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'[0;0m
[0;36m3 |[0;0m
Swift._Pointer.==:2:31: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'[0;0m
[0;36m1 |[0;0m protocol _Pointer {
[0;36m2 |[0;0m @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_Pointer'[0;0m
[0;36m3 |[0;0m
Swift.Strideable.==:2:31: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'[0;0m
[0;36m1 |[0;0m protocol Strideable {
[0;36m2 |[0;0m @inlinable public static func == (x: Self, y: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'Strideable'[0;0m
[0;36m3 |[0;0m
Swift.StringProtocol.==:2:31: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'[0;0m
[0;36m1 |[0;0m protocol StringProtocol {
[0;36m2 |[0;0m @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'StringProtocol'[0;0m
[0;36m3 |[0;0m
Swift.SIMD.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'[0;0m
[0;36m1 |[0;0m protocol SIMD {
[0;36m2 |[0;0m public static func == (a: Self, b: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'SIMD'[0;0m
[0;36m3 |[0;0m
Foundation.__BridgedNSError.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'[0;0m
[0;36m1 |[0;0m protocol __BridgedNSError {
[0;36m2 |[0;0m public static func == (lhs: Self, rhs: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '__BridgedNSError'[0;0m
[0;36m3 |[0;0m
Foundation._BridgedStoredNSError.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'[0;0m
[0;36m1 |[0;0m protocol _BridgedStoredNSError {
[0;36m2 |[0;0m public static func == (lhs: Self, rhs: Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to '_BridgedStoredNSError'[0;0m
[0;36m3 |[0;0m
FoundationEssentials.AttributedStringProtocol.==:2:20: [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'[0;0m
[0;36m1 |[0;0m protocol AttributedStringProtocol {
[0;36m2 |[0;0m public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate would match if 'MockTextTokenizer<R>.Request' conformed to 'AttributedStringProtocol'[0;0m
[0;36m3 |[0;0m
Swift.Equatable.==:2:13: [1;39mnote: [1;39mprotocol requires function '==' with type '(borrowing MockTextTokenizer<R>.Request, borrowing MockTextTokenizer<R>.Request) -> Bool'[0;0m
[0;36m1 |[0;0m protocol Equatable {
[0;36m2 |[0;0m static func == (lhs: borrowing Self, rhs: borrowing Self) -> Bool}
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires function '==' with type '(borrowing MockTextTokenizer<R>.Request, borrowing MockTextTokenizer<R>.Request) -> Bool'[0;0m
[0;36m3 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:26:72: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m
[0;36m26 |[0;0m public func position(from position: Position, toBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m27 |[0;0m requests.append(.position(position, granularity, direction))
[0;36m28 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:26:112: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m
[0;36m26 |[0;0m public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m, alignment: CGFloat?) -> Position? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m27 |[0;0m requests.append(.position(position, granularity, direction))
[0;36m28 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:37:77: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m35 |[0;0m }
[0;36m36 |[0;0m
[0;36m37 |[0;0m public func rangeEnclosingPosition(_ position: Position, with granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> R? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m38 |[0;0m return nil
[0;36m39 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:37:117: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m35 |[0;0m }
[0;36m36 |[0;0m
[0;36m37 |[0;0m public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> R? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m38 |[0;0m return nil
[0;36m39 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:41:71: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m39 |[0;0m }
[0;36m40 |[0;0m
[0;36m41 |[0;0m public func isPosition(_ position: Position, atBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m42 |[0;0m return false
[0;36m43 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:41:111: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m39 |[0;0m }
[0;36m40 |[0;0m
[0;36m41 |[0;0m public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m42 |[0;0m return false
[0;36m43 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:45:75: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m43 |[0;0m }
[0;36m44 |[0;0m
[0;36m45 |[0;0m public func isPosition(_ position: Position, withinTextUnit granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m46 |[0;0m return false
[0;36m47 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift:45:115: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m43 |[0;0m }
[0;36m44 |[0;0m
[0;36m45 |[0;0m public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m46 |[0;0m return false
[0;36m47 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:15:65: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m13 |[0;0m typealias Position = TextRange.Bound
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:15:105: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m13 |[0;0m typealias Position = TextRange.Bound
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m, alignment: CGFloat?) -> Position?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:15:131: [1;31merror: [1;39mcannot find type 'CGFloat' in scope[0;0m
[0;36m13 |[0;0m typealias Position = TextRange.Bound
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: [4;39mCGFloat[0;0m?) -> Position?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'CGFloat' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:16:70: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> TextRange?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:16:110: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m14 |[0;0m
[0;36m15 |[0;0m func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> TextRange?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:18:64: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m19 |[0;0m func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
[0;36m20 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:18:104: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m16 |[0;0m func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m19 |[0;0m func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
[0;36m20 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:19:68: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
[0;36m19 |[0;0m func isPosition(_ position: Position, withinTextUnit granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m20 |[0;0m }
[0;36m21 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:19:108: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m17 |[0;0m
[0;36m18 |[0;0m func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
[0;36m19 |[0;0m func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m20 |[0;0m }
[0;36m21 |[0;0m
/host/spi-builder-workspace/Sources/Ligature/NSTextSelection+Extensions.swift:9:11: [1;31merror: [1;39mcannot find type 'NSTextSelection' in scope[0;0m
[0;36m7 |[0;0m @available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
[0;36m8 |[0;0m @available(watchOS, unavailable)
[0;36m9 |[0;0m extension [4;39mNSTextSelection[0;0m.Granularity {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSTextSelection' in scope[0;0m
[0;36m10 |[0;0m public init(_ granularity: TextGranularity) {
[0;36m11 |[0;0m switch granularity {
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:14:72: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m12 |[0;0m
[0;36m13 |[0;0m extension SourceTokenizer: TextTokenizer {
[0;36m14 |[0;0m public func position(from position: Position, toBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m15 |[0;0m return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
[0;36m16 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:14:112: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m12 |[0;0m
[0;36m13 |[0;0m extension SourceTokenizer: TextTokenizer {
[0;36m14 |[0;0m public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m, alignment: CGFloat?) -> Position? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m15 |[0;0m return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
[0;36m16 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:18:77: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m16 |[0;0m }
[0;36m17 |[0;0m
[0;36m18 |[0;0m public func rangeEnclosingPosition(_ position: Position, with granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> FallbackTokenzier.TextRange? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m19 |[0;0m return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
[0;36m20 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:18:117: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m16 |[0;0m }
[0;36m17 |[0;0m
[0;36m18 |[0;0m public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> FallbackTokenzier.TextRange? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m19 |[0;0m return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
[0;36m20 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:22:71: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m20 |[0;0m }
[0;36m21 |[0;0m
[0;36m22 |[0;0m public func isPosition(_ position: Position, atBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m23 |[0;0m return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
[0;36m24 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:22:111: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m20 |[0;0m }
[0;36m21 |[0;0m
[0;36m22 |[0;0m public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m23 |[0;0m return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
[0;36m24 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:26:75: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m
[0;36m26 |[0;0m public func isPosition(_ position: Position, withinTextUnit granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m27 |[0;0m return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
[0;36m28 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:26:115: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m
[0;36m26 |[0;0m public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m27 |[0;0m return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
[0;36m28 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:13:1: [1;31merror: [1;39mtype 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'[0;0m
[0;36m11 |[0;0m }
[0;36m12 |[0;0m
[0;36m13 |[0;0m extension SourceTokenizer: TextTokenizer {
[0;36m|[0;0m |- [1;31merror: [1;39mtype 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd stubs for conformance[0;0m
[0;36m14 |[0;0m public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
[0;36m15 |[0;0m return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:11:17: [1;39mnote: [1;39mprotocol requires nested type 'TextRange'[0;0m
[0;36m9 |[0;0m @MainActor
[0;36m10 |[0;0m public protocol TextTokenizer<TextRange> {
[0;36m11 |[0;0m associatedtype TextRange: Bounded
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires nested type 'TextRange'[0;0m
[0;36m12 |[0;0m
[0;36m13 |[0;0m typealias Position = TextRange.Bound
/host/spi-builder-workspace/Sources/Ligature/TextDirection+Extensions.swift:1:11: [1;31merror: [1;39mcannot find type 'TextLayoutDirection' in scope[0;0m
[0;36m1 |[0;0m extension [4;39mTextLayoutDirection[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextLayoutDirection' in scope[0;0m
[0;36m2 |[0;0m public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
[0;36m3 |[0;0m switch (self, layout) {
/host/spi-builder-workspace/Sources/Ligature/TextDirection+Extensions.swift:16:11: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m14 |[0;0m }
[0;36m15 |[0;0m
[0;36m16 |[0;0m extension [4;39mTextDirection[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m17 |[0;0m public func textStorageDirection(with layout: UserInterfaceLayoutDirection) -> TextStorageDirection? {
[0;36m18 |[0;0m switch rawValue {
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:23:72: [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m21 |[0;0m
[0;36m22 |[0;0m extension TextTokenizer {
[0;36m23 |[0;0m public func position(from position: Position, toBoundary granularity: [4;39mTextGranularity[0;0m, inDirection direction: TextDirection) -> Position? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextGranularity' in scope[0;0m
[0;36m24 |[0;0m self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
[0;36m25 |[0;0m }
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:23:112: [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m21 |[0;0m
[0;36m22 |[0;0m extension TextTokenizer {
[0;36m23 |[0;0m public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: [4;39mTextDirection[0;0m) -> Position? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TextDirection' in scope[0;0m
[0;36m24 |[0;0m self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
[0;36m25 |[0;0m }
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/NSTextSelection+Extensions.swift /host/spi-builder-workspace/Sources/Ligature/Platform.swift /host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/TextDirection+Extensions.swift /host/spi-builder-workspace/Sources/Ligature/TextInputStringTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/TextRange+Bounded.swift /host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/TextView+TextRangeCalculating.swift /host/spi-builder-workspace/Sources/Ligature/UTF16CodePointTextViewTextTokenizer.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -I /host/spi-builder-workspace/.build/out/Products/Debug-linux-x86_64 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -fno-omit-frame-pointer -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-linux-x86_64/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/DerivedSources-normal/x86_64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/DerivedSources/x86_64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Ligature -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/Ligature_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/Modules/Ligature.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/Modules/Ligature.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/Ligature-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/Ligature-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/Ligature-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-linux-x86_64/Ligature-t.build/Objects-normal/x86_64/Modules/Ligature.swiftmodule
error: Build failed
BUILD FAILURE 6.4 linux