The Swift Package Index logo.Swift Package Index

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

Build Information

Failed to build STTextKitPlus, reference main (4655b7), with Swift 6.0 for Linux on 13 Mar 2025 22:23:48 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/krzyzanowskim/STTextKitPlus.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/krzyzanowskim/STTextKitPlus
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 4655b76 Remove copyright year from license and source files
Cloned https://github.com/krzyzanowskim/STTextKitPlus.git
Revision (git rev-parse @):
4655b76fce111082749fbc1ff7e5b2da6912b0ac
SUCCESS checkout https://github.com/krzyzanowskim/STTextKitPlus.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/krzyzanowskim/STTextKitPlus.git
https://github.com/krzyzanowskim/STTextKitPlus.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "STTextKitPlus",
  "name" : "STTextKitPlus",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "15.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "STTextKitPlus",
      "targets" : [
        "STTextKitPlus"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "STTextKitPlus",
      "module_type" : "SwiftTarget",
      "name" : "STTextKitPlus",
      "path" : "Sources/STTextKitPlus",
      "product_memberships" : [
        "STTextKitPlus"
      ],
      "sources" : [
        "NSRange.swift",
        "NSTextContentManager.swift",
        "NSTextLayoutFragment.swift",
        "NSTextLayoutManager.swift",
        "NSTextLineFragment.swift",
        "NSTextLocation+Equatable.swift",
        "NSTextRange.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:081dcf4fb829aea9d08447f4790431afbdfbcc335bfeed728ca69c6f181ae2aa
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/10] Compiling STTextKitPlus NSTextRange.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:37:11: error: cannot find type 'NSTextRange' in scope
35 | #endif
36 |
37 | extension NSTextRange {
   |           `- error: cannot find type 'NSTextRange' in scope
38 |
39 |     public convenience init?(_ nsRange: NSRange, in textContentManager: NSTextContentManager) {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:39:41: error: cannot find type 'NSRange' in scope
37 | extension NSTextRange {
38 |
39 |     public convenience init?(_ nsRange: NSRange, in textContentManager: NSTextContentManager) {
   |                                         `- error: cannot find type 'NSRange' in scope
40 |         guard let start = textContentManager.location(textContentManager.documentRange.location, offsetBy: nsRange.location) else {
41 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:39:73: error: cannot find type 'NSTextContentManager' in scope
37 | extension NSTextRange {
38 |
39 |     public convenience init?(_ nsRange: NSRange, in textContentManager: NSTextContentManager) {
   |                                                                         `- error: cannot find type 'NSTextContentManager' in scope
40 |         guard let start = textContentManager.location(textContentManager.documentRange.location, offsetBy: nsRange.location) else {
41 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:47:47: error: cannot find type 'NSTextContentManager' in scope
45 |     }
46 |
47 |     public func length(in textContentManager: NSTextContentManager) -> Int {
   |                                               `- error: cannot find type 'NSTextContentManager' in scope
48 |         textContentManager.offset(from: location, to: endLocation)
49 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:52:39: error: cannot find type 'NSTextRange' in scope
50 |
51 |     /// Returns a copy of this range clamped to the given limiting range.
52 |     public func clamped(to textRange: NSTextRange) -> Self? {
   |                                       `- error: cannot find type 'NSTextRange' in scope
53 |         let beginLocation = {
54 |             if self.location <= textRange.location {
[4/10] Compiling STTextKitPlus NSTextLocation+Equatable.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLocation+Equatable.swift:37:18: error: cannot find type 'NSTextLocation' in scope
35 | #endif
36 |
37 | public extension NSTextLocation {
   |                  `- error: cannot find type 'NSTextLocation' in scope
38 |
39 |     static func == (lhs: Self, rhs: Self) -> Bool {
[5/10] Compiling STTextKitPlus NSTextLineFragment.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLineFragment.swift:37:11: error: cannot find type 'NSTextLineFragment' in scope
35 | #endif
36 |
37 | extension NSTextLineFragment {
   |           `- error: cannot find type 'NSTextLineFragment' in scope
38 |
39 |     /// Whether the line fragment is for the extra line fragment at the end of a document.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLineFragment.swift:52:75: error: cannot find type 'NSTextRange' in scope
50 |     /// - Parameter textLayoutFragment: Text layout fragment
51 |     /// - Returns: Text range or nil
52 |     public func textRange(in textLayoutFragment: NSTextLayoutFragment) -> NSTextRange? {
   |                                                                           `- error: cannot find type 'NSTextRange' in scope
53 |
54 |         guard let textContentManager = textLayoutFragment.textLayoutManager?.textContentManager else {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLineFragment.swift:52:50: error: cannot find type 'NSTextLayoutFragment' in scope
50 |     /// - Parameter textLayoutFragment: Text layout fragment
51 |     /// - Returns: Text range or nil
52 |     public func textRange(in textLayoutFragment: NSTextLayoutFragment) -> NSTextRange? {
   |                                                  `- error: cannot find type 'NSTextLayoutFragment' in scope
53 |
54 |         guard let textContentManager = textLayoutFragment.textLayoutManager?.textContentManager else {
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/10] Emitting module STTextKitPlus
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:37:11: error: cannot find type 'NSRange' in scope
35 | #endif
36 |
37 | extension NSRange {
   |           `- error: cannot find type 'NSRange' in scope
38 |
39 |     /// A value indicating that a requested item couldn’t be found or doesn’t exist.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:37:18: error: cannot find type 'NSTextContentManager' in scope
 35 | #endif
 36 |
 37 | public extension NSTextContentManager {
    |                  `- error: cannot find type 'NSTextContentManager' in scope
 38 |
 39 |     func location(at offset: Int) -> NSTextLocation? {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:37:11: error: cannot find type 'NSTextLayoutFragment' in scope
35 | #endif
36 |
37 | extension NSTextLayoutFragment {
   |           `- error: cannot find type 'NSTextLayoutFragment' in scope
38 |
39 |     /// Whether the layout fragment is for the extra line fragment at the end of a document.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:37:11: error: cannot find type 'NSTextLayoutManager' in scope
 35 | #endif
 36 |
 37 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 38 |
 39 |     /// Extra line layout fragment.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:73:11: error: cannot find type 'NSTextLayoutManager' in scope
 71 |
 72 |
 73 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 74 |
 75 |     public func textLineFragment(at location: NSTextLocation) -> NSTextLineFragment? {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:85:11: error: cannot find type 'NSTextLayoutManager' in scope
 83 | }
 84 |
 85 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 86 |
 87 |     /// Returns a location of text produced by a tap or click at the point you specify.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:115:11: error: cannot find type 'NSTextLayoutManager' in scope
113 | }
114 |
115 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
116 |
117 |     /// Typographic bounds of the range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:150:11: error: cannot find type 'NSTextLayoutManager' in scope
148 | }
149 |
150 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
151 |
152 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:173:11: error: cannot find type 'NSTextLayoutManager' in scope
171 | }
172 |
173 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
174 |
175 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:184:50: error: cannot find type 'NSTextSelection' in scope
182 | }
183 |
184 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
185 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
186 | }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLineFragment.swift:37:11: error: cannot find type 'NSTextLineFragment' in scope
35 | #endif
36 |
37 | extension NSTextLineFragment {
   |           `- error: cannot find type 'NSTextLineFragment' in scope
38 |
39 |     /// Whether the line fragment is for the extra line fragment at the end of a document.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLocation+Equatable.swift:37:18: error: cannot find type 'NSTextLocation' in scope
35 | #endif
36 |
37 | public extension NSTextLocation {
   |                  `- error: cannot find type 'NSTextLocation' in scope
38 |
39 |     static func == (lhs: Self, rhs: Self) -> Bool {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:37:11: error: cannot find type 'NSTextRange' in scope
35 | #endif
36 |
37 | extension NSTextRange {
   |           `- error: cannot find type 'NSTextRange' in scope
38 |
39 |     public convenience init?(_ nsRange: NSRange, in textContentManager: NSTextContentManager) {
[7/10] Compiling STTextKitPlus NSRange.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:37:11: error: cannot find type 'NSRange' in scope
35 | #endif
36 |
37 | extension NSRange {
   |           `- error: cannot find type 'NSRange' in scope
38 |
39 |     /// A value indicating that a requested item couldn’t be found or doesn’t exist.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:40:34: error: cannot find 'NSRange' in scope
38 |
39 |     /// A value indicating that a requested item couldn’t be found or doesn’t exist.
40 |     public static let notFound = NSRange(location: NSNotFound, length: 0)
   |                                  `- error: cannot find 'NSRange' in scope
41 |
42 |     /// A Boolean value indicating whether the range is empty.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:40:52: error: cannot find 'NSNotFound' in scope
38 |
39 |     /// A value indicating that a requested item couldn’t be found or doesn’t exist.
40 |     public static let notFound = NSRange(location: NSNotFound, length: 0)
   |                                                    `- error: cannot find 'NSNotFound' in scope
41 |
42 |     /// A Boolean value indicating whether the range is empty.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:49:30: error: cannot find type 'NSTextRange' in scope
47 |     }
48 |
49 |     public init(_ textRange: NSTextRange, in textContentManager: NSTextContentManager) {
   |                              `- error: cannot find type 'NSTextRange' in scope
50 |         let offset = textContentManager.offset(from: textContentManager.documentRange.location, to: textRange.location)
51 |         let length = textContentManager.offset(from: textRange.location, to: textRange.endLocation)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:49:66: error: cannot find type 'NSTextContentManager' in scope
47 |     }
48 |
49 |     public init(_ textRange: NSTextRange, in textContentManager: NSTextContentManager) {
   |                                                                  `- error: cannot find type 'NSTextContentManager' in scope
50 |         let offset = textContentManager.offset(from: textContentManager.documentRange.location, to: textRange.location)
51 |         let length = textContentManager.offset(from: textRange.location, to: textRange.endLocation)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:55:33: error: cannot find type 'NSTextLocation' in scope
53 |     }
54 |
55 |     public init(_ textLocation: NSTextLocation, in textContentManager: NSTextContentManager) {
   |                                 `- error: cannot find type 'NSTextLocation' in scope
56 |         let offset = textContentManager.offset(from: textContentManager.documentRange.location, to: textLocation)
57 |         self.init(location: offset, length: 0)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:55:72: error: cannot find type 'NSTextContentManager' in scope
53 |     }
54 |
55 |     public init(_ textLocation: NSTextLocation, in textContentManager: NSTextContentManager) {
   |                                                                        `- error: cannot find type 'NSTextContentManager' in scope
56 |         let offset = textContentManager.offset(from: textContentManager.documentRange.location, to: textLocation)
57 |         self.init(location: offset, length: 0)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:61:25: error: cannot find type 'NSValue' in scope
59 |
60 |     /// Creates a new value object containing the specified Foundation range structure.
61 |     public var nsValue: NSValue {
   |                         `- error: cannot find type 'NSValue' in scope
62 |         NSValue(range: self)
63 |     }
[8/10] Compiling STTextKitPlus NSTextContentManager.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:37:18: error: cannot find type 'NSTextContentManager' in scope
 35 | #endif
 36 |
 37 | public extension NSTextContentManager {
    |                  `- error: cannot find type 'NSTextContentManager' in scope
 38 |
 39 |     func location(at offset: Int) -> NSTextLocation? {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:39:38: error: cannot find type 'NSTextLocation' in scope
 37 | public extension NSTextContentManager {
 38 |
 39 |     func location(at offset: Int) -> NSTextLocation? {
    |                                      `- error: cannot find type 'NSTextLocation' in scope
 40 |         location(documentRange.location, offsetBy: offset)
 41 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:47:75: error: cannot find type 'NSTextLocation' in scope
 45 |     }
 46 |
 47 |     func location(line lineIdx: Int, character characterIdx: Int? = 0) -> NSTextLocation? {
    |                                                                           `- error: cannot find type 'NSTextLocation' in scope
 48 |         let linesTextElements = textElements(for: documentRange)
 49 |         guard linesTextElements.indices ~= lineIdx else {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:62:31: error: cannot find type 'NSTextLocation' in scope
 60 |     }
 61 |
 62 |     func position(_ location: NSTextLocation) -> (row: Int, column: Int)? {
    |                               `- error: cannot find type 'NSTextLocation' in scope
 63 |         let linesElements = textElements(for: documentRange)
 64 |         if linesElements.isEmpty {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:88:54: error: cannot find type 'NSAttributedString' in scope
 86 |     /// - Parameter range: Text range, or nil for the whole document.
 87 |     /// - Returns: Attributed string, or nil.
 88 |     func attributedString(in range: NSTextRange?) -> NSAttributedString? {
    |                                                      `- error: cannot find type 'NSAttributedString' in scope
 89 |         if let range, range.isEmpty {
 90 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:88:37: error: cannot find type 'NSTextRange' in scope
 86 |     /// - Parameter range: Text range, or nil for the whole document.
 87 |     /// - Returns: Attributed string, or nil.
 88 |     func attributedString(in range: NSTextRange?) -> NSAttributedString? {
    |                                     `- error: cannot find type 'NSTextRange' in scope
 89 |         if let range, range.isEmpty {
 90 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:176:59: error: cannot find type 'NSTextElement' in scope
174 |     ///
175 |     /// This is working implementation, in contrary to buggy `textElements(for:)` (FB10019859)
176 |     func textElementsNotBuggy(for range: NSTextRange) -> [NSTextElement] {
    |                                                           `- error: cannot find type 'NSTextElement' in scope
177 |         var elements: [NSTextElement] = []
178 |
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:176:42: error: cannot find type 'NSTextRange' in scope
174 |     ///
175 |     /// This is working implementation, in contrary to buggy `textElements(for:)` (FB10019859)
176 |     func textElementsNotBuggy(for range: NSTextRange) -> [NSTextElement] {
    |                                          `- error: cannot find type 'NSTextRange' in scope
177 |         var elements: [NSTextElement] = []
178 |
[9/10] Compiling STTextKitPlus NSTextLayoutFragment.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:37:11: error: cannot find type 'NSTextLayoutFragment' in scope
35 | #endif
36 |
37 | extension NSTextLayoutFragment {
   |           `- error: cannot find type 'NSTextLayoutFragment' in scope
38 |
39 |     /// Whether the layout fragment is for the extra line fragment at the end of a document.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:46:118: error: cannot find type 'NSTextLineFragment' in scope
44 |     }
45 |
46 |     public func textLineFragment(at location: NSTextLocation, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                                                                                                      `- error: cannot find type 'NSTextLineFragment' in scope
47 |         guard let textContentManager = textContentManager ?? textLayoutManager?.textContentManager else {
48 |             assertionFailure()
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:46:47: error: cannot find type 'NSTextLocation' in scope
44 |     }
45 |
46 |     public func textLineFragment(at location: NSTextLocation, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                               `- error: cannot find type 'NSTextLocation' in scope
47 |         guard let textContentManager = textContentManager ?? textLayoutManager?.textContentManager else {
48 |             assertionFailure()
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:46:86: error: cannot find type 'NSTextContentManager' in scope
44 |     }
45 |
46 |     public func textLineFragment(at location: NSTextLocation, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                                                                      `- error: cannot find type 'NSTextContentManager' in scope
47 |         guard let textContentManager = textContentManager ?? textLayoutManager?.textContentManager else {
48 |             assertionFailure()
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:60:111: error: cannot find type 'NSTextLineFragment' in scope
58 |     }
59 |
60 |     public func textLineFragment(at location: CGPoint, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                                                                                               `- error: cannot find type 'NSTextLineFragment' in scope
61 |         textLineFragments.first { lineFragment in
62 |             CGRect(origin: layoutFragmentFrame.origin, size: lineFragment.typographicBounds.size).contains(location)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:60:47: error: cannot find type 'CGPoint' in scope
58 |     }
59 |
60 |     public func textLineFragment(at location: CGPoint, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                               `- error: cannot find type 'CGPoint' in scope
61 |         textLineFragments.first { lineFragment in
62 |             CGRect(origin: layoutFragmentFrame.origin, size: lineFragment.typographicBounds.size).contains(location)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:60:79: error: cannot find type 'NSTextContentManager' in scope
58 |     }
59 |
60 |     public func textLineFragment(at location: CGPoint, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                                                               `- error: cannot find type 'NSTextContentManager' in scope
61 |         textLineFragments.first { lineFragment in
62 |             CGRect(origin: layoutFragmentFrame.origin, size: lineFragment.typographicBounds.size).contains(location)
[10/10] Compiling STTextKitPlus NSTextLayoutManager.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:37:11: error: cannot find type 'NSTextLayoutManager' in scope
 35 | #endif
 36 |
 37 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 38 |
 39 |     /// Extra line layout fragment.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:73:11: error: cannot find type 'NSTextLayoutManager' in scope
 71 |
 72 |
 73 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 74 |
 75 |     public func textLineFragment(at location: NSTextLocation) -> NSTextLineFragment? {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:85:11: error: cannot find type 'NSTextLayoutManager' in scope
 83 | }
 84 |
 85 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 86 |
 87 |     /// Returns a location of text produced by a tap or click at the point you specify.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:115:11: error: cannot find type 'NSTextLayoutManager' in scope
113 | }
114 |
115 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
116 |
117 |     /// Typographic bounds of the range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:150:11: error: cannot find type 'NSTextLayoutManager' in scope
148 | }
149 |
150 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
151 |
152 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:173:11: error: cannot find type 'NSTextLayoutManager' in scope
171 | }
172 |
173 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
174 |
175 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:184:50: error: cannot find type 'NSTextSelection' in scope
182 | }
183 |
184 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
185 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
186 | }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:42:59: error: cannot find type 'NSTextLayoutFragment' in scope
 40 |     ///
 41 |     /// Only valid when ``state`` greater than NSTextLayoutFragment.State.estimatedUsageBounds
 42 |     @nonobjc public func extraLineTextLayoutFragment() -> NSTextLayoutFragment? {
    |                                                           `- error: cannot find type 'NSTextLayoutFragment' in scope
 43 |         var extraTextLayoutFragment: NSTextLayoutFragment?
 44 |         enumerateTextLayoutFragments(from: nil, options: .reverse) { textLayoutFragment in
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:58:57: error: cannot find type 'NSTextLineFragment' in scope
 56 |     ///
 57 |     /// Only valid when ``state`` greater than NSTextLayoutFragment.State.estimatedUsageBounds
 58 |     @nonobjc public func extraLineTextLineFragment() -> NSTextLineFragment? {
    |                                                         `- error: cannot find type 'NSTextLineFragment' in scope
 59 |         if let textLayoutFragment = extraLineTextLayoutFragment() {
 60 |             let textLineFragments = textLayoutFragment.textLineFragments
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:75:66: error: cannot find type 'NSTextLineFragment' in scope
 73 | extension NSTextLayoutManager {
 74 |
 75 |     public func textLineFragment(at location: NSTextLocation) -> NSTextLineFragment? {
    |                                                                  `- error: cannot find type 'NSTextLineFragment' in scope
 76 |         textLayoutFragment(for: location)?.textLineFragment(at: location)
 77 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:75:47: error: cannot find type 'NSTextLocation' in scope
 73 | extension NSTextLayoutManager {
 74 |
 75 |     public func textLineFragment(at location: NSTextLocation) -> NSTextLineFragment? {
    |                                               `- error: cannot find type 'NSTextLocation' in scope
 76 |         textLayoutFragment(for: location)?.textLineFragment(at: location)
 77 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:79:56: error: cannot find type 'NSTextLineFragment' in scope
 77 |     }
 78 |
 79 |     public func textLineFragment(at point: CGPoint) -> NSTextLineFragment? {
    |                                                        `- error: cannot find type 'NSTextLineFragment' in scope
 80 |         textLayoutFragment(for: point)?.textLineFragment(at: point)
 81 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:79:44: error: cannot find type 'CGPoint' in scope
 77 |     }
 78 |
 79 |     public func textLineFragment(at point: CGPoint) -> NSTextLineFragment? {
    |                                            `- error: cannot find type 'CGPoint' in scope
 80 |         textLayoutFragment(for: point)?.textLineFragment(at: point)
 81 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:92:108: error: cannot find type 'NSTextLocation' in scope
 90 |     ///   - containerLocation: A NSTextLocation that describes the contasiner location.
 91 |     /// - Returns: A location
 92 |     public func location(interactingAt point: CGPoint, inContainerAt containerLocation: NSTextLocation) -> NSTextLocation? {
    |                                                                                                            `- error: cannot find type 'NSTextLocation' in scope
 93 |         guard let lineFragmentRange = lineFragmentRange(for: point, inContainerAt: containerLocation) else {
 94 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:92:47: error: cannot find type 'CGPoint' in scope
 90 |     ///   - containerLocation: A NSTextLocation that describes the contasiner location.
 91 |     /// - Returns: A location
 92 |     public func location(interactingAt point: CGPoint, inContainerAt containerLocation: NSTextLocation) -> NSTextLocation? {
    |                                               `- error: cannot find type 'CGPoint' in scope
 93 |         guard let lineFragmentRange = lineFragmentRange(for: point, inContainerAt: containerLocation) else {
 94 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:92:89: error: cannot find type 'NSTextLocation' in scope
 90 |     ///   - containerLocation: A NSTextLocation that describes the contasiner location.
 91 |     /// - Returns: A location
 92 |     public func location(interactingAt point: CGPoint, inContainerAt containerLocation: NSTextLocation) -> NSTextLocation? {
    |                                                                                         `- error: cannot find type 'NSTextLocation' in scope
 93 |         guard let lineFragmentRange = lineFragmentRange(for: point, inContainerAt: containerLocation) else {
 94 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:120:65: error: cannot find type 'CGRect' in scope
118 |     /// - Parameter textRange: The range.
119 |     /// - Returns: Typographic bounds of the range.
120 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                                 `- error: cannot find type 'CGRect' in scope
121 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
122 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:120:49: error: cannot find type 'NSTextRange' in scope
118 |     /// - Parameter textRange: The range.
119 |     /// - Returns: Typographic bounds of the range.
120 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                 `- error: cannot find type 'NSTextRange' in scope
121 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
122 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:152: error: cannot find type 'CGRect' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                                                                        `- error: cannot find type 'CGRect' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:47: error: cannot find type 'NSTextLocation' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                               `- error: cannot find type 'NSTextLocation' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:69: error: cannot find type 'NSTextLayoutManager' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                     `- error: cannot find type 'NSTextLayoutManager' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:111: error: cannot find type 'SegmentOptions' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                               `- error: cannot find type 'SegmentOptions' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:169: error: cannot find type 'CGRect' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                                                                                         `- error: cannot find type 'CGRect' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:48: error: cannot find type 'NSTextRange' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                `- error: cannot find type 'NSTextRange' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:67: error: cannot find type 'NSTextLayoutManager' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                   `- error: cannot find type 'NSTextLayoutManager' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:109: error: cannot find type 'SegmentOptions' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                             `- error: cannot find type 'SegmentOptions' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:191: error: cannot find type 'NSTextLocation' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                                                               `- error: cannot find type 'NSTextLocation' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:75: error: cannot find type 'NSTextRange' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                           `- error: cannot find type 'NSTextRange' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:97: error: cannot find type 'NSTextLayoutFragment' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                 `- error: cannot find type 'NSTextLayoutFragment' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:157: error: cannot find type 'NSTextLayoutFragment' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                             `- error: cannot find type 'NSTextLayoutFragment' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:175:42: error: cannot find type 'NSTextLocation' in scope
173 | extension NSTextLayoutManager {
174 |
175 |     public var insertionPointLocations: [NSTextLocation] {
    |                                          `- error: cannot find type 'NSTextLocation' in scope
176 |         insertionPointSelections.flatMap(\.textRanges).map(\.location).sorted(by: { $0 < $1 })
177 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:179:43: error: cannot find type 'NSTextSelection' in scope
177 |     }
178 |
179 |     public var insertionPointSelections: [NSTextSelection] {
    |                                           `- error: cannot find type 'NSTextSelection' in scope
180 |         textSelections.filter(_textSelectionInsertionPointFilter)
181 |     }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:081dcf4fb829aea9d08447f4790431afbdfbcc335bfeed728ca69c6f181ae2aa
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/9] Compiling STTextKitPlus NSTextLayoutFragment.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:37:11: error: cannot find type 'NSTextLayoutFragment' in scope
35 | #endif
36 |
37 | extension NSTextLayoutFragment {
   |           `- error: cannot find type 'NSTextLayoutFragment' in scope
38 |
39 |     /// Whether the layout fragment is for the extra line fragment at the end of a document.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:46:118: error: cannot find type 'NSTextLineFragment' in scope
44 |     }
45 |
46 |     public func textLineFragment(at location: NSTextLocation, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                                                                                                      `- error: cannot find type 'NSTextLineFragment' in scope
47 |         guard let textContentManager = textContentManager ?? textLayoutManager?.textContentManager else {
48 |             assertionFailure()
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:46:47: error: cannot find type 'NSTextLocation' in scope
44 |     }
45 |
46 |     public func textLineFragment(at location: NSTextLocation, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                               `- error: cannot find type 'NSTextLocation' in scope
47 |         guard let textContentManager = textContentManager ?? textLayoutManager?.textContentManager else {
48 |             assertionFailure()
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:46:86: error: cannot find type 'NSTextContentManager' in scope
44 |     }
45 |
46 |     public func textLineFragment(at location: NSTextLocation, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                                                                      `- error: cannot find type 'NSTextContentManager' in scope
47 |         guard let textContentManager = textContentManager ?? textLayoutManager?.textContentManager else {
48 |             assertionFailure()
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:60:111: error: cannot find type 'NSTextLineFragment' in scope
58 |     }
59 |
60 |     public func textLineFragment(at location: CGPoint, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                                                                                               `- error: cannot find type 'NSTextLineFragment' in scope
61 |         textLineFragments.first { lineFragment in
62 |             CGRect(origin: layoutFragmentFrame.origin, size: lineFragment.typographicBounds.size).contains(location)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:60:47: error: cannot find type 'CGPoint' in scope
58 |     }
59 |
60 |     public func textLineFragment(at location: CGPoint, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                               `- error: cannot find type 'CGPoint' in scope
61 |         textLineFragments.first { lineFragment in
62 |             CGRect(origin: layoutFragmentFrame.origin, size: lineFragment.typographicBounds.size).contains(location)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:60:79: error: cannot find type 'NSTextContentManager' in scope
58 |     }
59 |
60 |     public func textLineFragment(at location: CGPoint, in textContentManager: NSTextContentManager? = nil) -> NSTextLineFragment? {
   |                                                                               `- error: cannot find type 'NSTextContentManager' in scope
61 |         textLineFragments.first { lineFragment in
62 |             CGRect(origin: layoutFragmentFrame.origin, size: lineFragment.typographicBounds.size).contains(location)
[3/9] Compiling STTextKitPlus NSTextRange.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:37:11: error: cannot find type 'NSTextRange' in scope
35 | #endif
36 |
37 | extension NSTextRange {
   |           `- error: cannot find type 'NSTextRange' in scope
38 |
39 |     public convenience init?(_ nsRange: NSRange, in textContentManager: NSTextContentManager) {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:39:41: error: cannot find type 'NSRange' in scope
37 | extension NSTextRange {
38 |
39 |     public convenience init?(_ nsRange: NSRange, in textContentManager: NSTextContentManager) {
   |                                         `- error: cannot find type 'NSRange' in scope
40 |         guard let start = textContentManager.location(textContentManager.documentRange.location, offsetBy: nsRange.location) else {
41 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:39:73: error: cannot find type 'NSTextContentManager' in scope
37 | extension NSTextRange {
38 |
39 |     public convenience init?(_ nsRange: NSRange, in textContentManager: NSTextContentManager) {
   |                                                                         `- error: cannot find type 'NSTextContentManager' in scope
40 |         guard let start = textContentManager.location(textContentManager.documentRange.location, offsetBy: nsRange.location) else {
41 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:47:47: error: cannot find type 'NSTextContentManager' in scope
45 |     }
46 |
47 |     public func length(in textContentManager: NSTextContentManager) -> Int {
   |                                               `- error: cannot find type 'NSTextContentManager' in scope
48 |         textContentManager.offset(from: location, to: endLocation)
49 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:52:39: error: cannot find type 'NSTextRange' in scope
50 |
51 |     /// Returns a copy of this range clamped to the given limiting range.
52 |     public func clamped(to textRange: NSTextRange) -> Self? {
   |                                       `- error: cannot find type 'NSTextRange' in scope
53 |         let beginLocation = {
54 |             if self.location <= textRange.location {
[4/9] Compiling STTextKitPlus NSTextContentManager.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:37:18: error: cannot find type 'NSTextContentManager' in scope
 35 | #endif
 36 |
 37 | public extension NSTextContentManager {
    |                  `- error: cannot find type 'NSTextContentManager' in scope
 38 |
 39 |     func location(at offset: Int) -> NSTextLocation? {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:39:38: error: cannot find type 'NSTextLocation' in scope
 37 | public extension NSTextContentManager {
 38 |
 39 |     func location(at offset: Int) -> NSTextLocation? {
    |                                      `- error: cannot find type 'NSTextLocation' in scope
 40 |         location(documentRange.location, offsetBy: offset)
 41 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:47:75: error: cannot find type 'NSTextLocation' in scope
 45 |     }
 46 |
 47 |     func location(line lineIdx: Int, character characterIdx: Int? = 0) -> NSTextLocation? {
    |                                                                           `- error: cannot find type 'NSTextLocation' in scope
 48 |         let linesTextElements = textElements(for: documentRange)
 49 |         guard linesTextElements.indices ~= lineIdx else {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:62:31: error: cannot find type 'NSTextLocation' in scope
 60 |     }
 61 |
 62 |     func position(_ location: NSTextLocation) -> (row: Int, column: Int)? {
    |                               `- error: cannot find type 'NSTextLocation' in scope
 63 |         let linesElements = textElements(for: documentRange)
 64 |         if linesElements.isEmpty {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:88:54: error: cannot find type 'NSAttributedString' in scope
 86 |     /// - Parameter range: Text range, or nil for the whole document.
 87 |     /// - Returns: Attributed string, or nil.
 88 |     func attributedString(in range: NSTextRange?) -> NSAttributedString? {
    |                                                      `- error: cannot find type 'NSAttributedString' in scope
 89 |         if let range, range.isEmpty {
 90 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:88:37: error: cannot find type 'NSTextRange' in scope
 86 |     /// - Parameter range: Text range, or nil for the whole document.
 87 |     /// - Returns: Attributed string, or nil.
 88 |     func attributedString(in range: NSTextRange?) -> NSAttributedString? {
    |                                     `- error: cannot find type 'NSTextRange' in scope
 89 |         if let range, range.isEmpty {
 90 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:176:59: error: cannot find type 'NSTextElement' in scope
174 |     ///
175 |     /// This is working implementation, in contrary to buggy `textElements(for:)` (FB10019859)
176 |     func textElementsNotBuggy(for range: NSTextRange) -> [NSTextElement] {
    |                                                           `- error: cannot find type 'NSTextElement' in scope
177 |         var elements: [NSTextElement] = []
178 |
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:176:42: error: cannot find type 'NSTextRange' in scope
174 |     ///
175 |     /// This is working implementation, in contrary to buggy `textElements(for:)` (FB10019859)
176 |     func textElementsNotBuggy(for range: NSTextRange) -> [NSTextElement] {
    |                                          `- error: cannot find type 'NSTextRange' in scope
177 |         var elements: [NSTextElement] = []
178 |
[5/9] Compiling STTextKitPlus NSTextLocation+Equatable.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLocation+Equatable.swift:37:18: error: cannot find type 'NSTextLocation' in scope
35 | #endif
36 |
37 | public extension NSTextLocation {
   |                  `- error: cannot find type 'NSTextLocation' in scope
38 |
39 |     static func == (lhs: Self, rhs: Self) -> Bool {
[6/9] Compiling STTextKitPlus NSTextLineFragment.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLineFragment.swift:37:11: error: cannot find type 'NSTextLineFragment' in scope
35 | #endif
36 |
37 | extension NSTextLineFragment {
   |           `- error: cannot find type 'NSTextLineFragment' in scope
38 |
39 |     /// Whether the line fragment is for the extra line fragment at the end of a document.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLineFragment.swift:52:75: error: cannot find type 'NSTextRange' in scope
50 |     /// - Parameter textLayoutFragment: Text layout fragment
51 |     /// - Returns: Text range or nil
52 |     public func textRange(in textLayoutFragment: NSTextLayoutFragment) -> NSTextRange? {
   |                                                                           `- error: cannot find type 'NSTextRange' in scope
53 |
54 |         guard let textContentManager = textLayoutFragment.textLayoutManager?.textContentManager else {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLineFragment.swift:52:50: error: cannot find type 'NSTextLayoutFragment' in scope
50 |     /// - Parameter textLayoutFragment: Text layout fragment
51 |     /// - Returns: Text range or nil
52 |     public func textRange(in textLayoutFragment: NSTextLayoutFragment) -> NSTextRange? {
   |                                                  `- error: cannot find type 'NSTextLayoutFragment' in scope
53 |
54 |         guard let textContentManager = textLayoutFragment.textLayoutManager?.textContentManager else {
[7/9] Compiling STTextKitPlus NSTextLayoutManager.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:37:11: error: cannot find type 'NSTextLayoutManager' in scope
 35 | #endif
 36 |
 37 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 38 |
 39 |     /// Extra line layout fragment.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:73:11: error: cannot find type 'NSTextLayoutManager' in scope
 71 |
 72 |
 73 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 74 |
 75 |     public func textLineFragment(at location: NSTextLocation) -> NSTextLineFragment? {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:85:11: error: cannot find type 'NSTextLayoutManager' in scope
 83 | }
 84 |
 85 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 86 |
 87 |     /// Returns a location of text produced by a tap or click at the point you specify.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:115:11: error: cannot find type 'NSTextLayoutManager' in scope
113 | }
114 |
115 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
116 |
117 |     /// Typographic bounds of the range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:150:11: error: cannot find type 'NSTextLayoutManager' in scope
148 | }
149 |
150 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
151 |
152 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:173:11: error: cannot find type 'NSTextLayoutManager' in scope
171 | }
172 |
173 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
174 |
175 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:184:50: error: cannot find type 'NSTextSelection' in scope
182 | }
183 |
184 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
185 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
186 | }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:42:59: error: cannot find type 'NSTextLayoutFragment' in scope
 40 |     ///
 41 |     /// Only valid when ``state`` greater than NSTextLayoutFragment.State.estimatedUsageBounds
 42 |     @nonobjc public func extraLineTextLayoutFragment() -> NSTextLayoutFragment? {
    |                                                           `- error: cannot find type 'NSTextLayoutFragment' in scope
 43 |         var extraTextLayoutFragment: NSTextLayoutFragment?
 44 |         enumerateTextLayoutFragments(from: nil, options: .reverse) { textLayoutFragment in
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:58:57: error: cannot find type 'NSTextLineFragment' in scope
 56 |     ///
 57 |     /// Only valid when ``state`` greater than NSTextLayoutFragment.State.estimatedUsageBounds
 58 |     @nonobjc public func extraLineTextLineFragment() -> NSTextLineFragment? {
    |                                                         `- error: cannot find type 'NSTextLineFragment' in scope
 59 |         if let textLayoutFragment = extraLineTextLayoutFragment() {
 60 |             let textLineFragments = textLayoutFragment.textLineFragments
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:75:66: error: cannot find type 'NSTextLineFragment' in scope
 73 | extension NSTextLayoutManager {
 74 |
 75 |     public func textLineFragment(at location: NSTextLocation) -> NSTextLineFragment? {
    |                                                                  `- error: cannot find type 'NSTextLineFragment' in scope
 76 |         textLayoutFragment(for: location)?.textLineFragment(at: location)
 77 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:75:47: error: cannot find type 'NSTextLocation' in scope
 73 | extension NSTextLayoutManager {
 74 |
 75 |     public func textLineFragment(at location: NSTextLocation) -> NSTextLineFragment? {
    |                                               `- error: cannot find type 'NSTextLocation' in scope
 76 |         textLayoutFragment(for: location)?.textLineFragment(at: location)
 77 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:79:56: error: cannot find type 'NSTextLineFragment' in scope
 77 |     }
 78 |
 79 |     public func textLineFragment(at point: CGPoint) -> NSTextLineFragment? {
    |                                                        `- error: cannot find type 'NSTextLineFragment' in scope
 80 |         textLayoutFragment(for: point)?.textLineFragment(at: point)
 81 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:79:44: error: cannot find type 'CGPoint' in scope
 77 |     }
 78 |
 79 |     public func textLineFragment(at point: CGPoint) -> NSTextLineFragment? {
    |                                            `- error: cannot find type 'CGPoint' in scope
 80 |         textLayoutFragment(for: point)?.textLineFragment(at: point)
 81 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:92:108: error: cannot find type 'NSTextLocation' in scope
 90 |     ///   - containerLocation: A NSTextLocation that describes the contasiner location.
 91 |     /// - Returns: A location
 92 |     public func location(interactingAt point: CGPoint, inContainerAt containerLocation: NSTextLocation) -> NSTextLocation? {
    |                                                                                                            `- error: cannot find type 'NSTextLocation' in scope
 93 |         guard let lineFragmentRange = lineFragmentRange(for: point, inContainerAt: containerLocation) else {
 94 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:92:47: error: cannot find type 'CGPoint' in scope
 90 |     ///   - containerLocation: A NSTextLocation that describes the contasiner location.
 91 |     /// - Returns: A location
 92 |     public func location(interactingAt point: CGPoint, inContainerAt containerLocation: NSTextLocation) -> NSTextLocation? {
    |                                               `- error: cannot find type 'CGPoint' in scope
 93 |         guard let lineFragmentRange = lineFragmentRange(for: point, inContainerAt: containerLocation) else {
 94 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:92:89: error: cannot find type 'NSTextLocation' in scope
 90 |     ///   - containerLocation: A NSTextLocation that describes the contasiner location.
 91 |     /// - Returns: A location
 92 |     public func location(interactingAt point: CGPoint, inContainerAt containerLocation: NSTextLocation) -> NSTextLocation? {
    |                                                                                         `- error: cannot find type 'NSTextLocation' in scope
 93 |         guard let lineFragmentRange = lineFragmentRange(for: point, inContainerAt: containerLocation) else {
 94 |             return nil
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:120:65: error: cannot find type 'CGRect' in scope
118 |     /// - Parameter textRange: The range.
119 |     /// - Returns: Typographic bounds of the range.
120 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                                 `- error: cannot find type 'CGRect' in scope
121 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
122 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:120:49: error: cannot find type 'NSTextRange' in scope
118 |     /// - Parameter textRange: The range.
119 |     /// - Returns: Typographic bounds of the range.
120 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                 `- error: cannot find type 'NSTextRange' in scope
121 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
122 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:152: error: cannot find type 'CGRect' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                                                                        `- error: cannot find type 'CGRect' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:47: error: cannot find type 'NSTextLocation' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                               `- error: cannot find type 'NSTextLocation' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:69: error: cannot find type 'NSTextLayoutManager' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                     `- error: cannot find type 'NSTextLayoutManager' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:111: error: cannot find type 'SegmentOptions' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                               `- error: cannot find type 'SegmentOptions' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:169: error: cannot find type 'CGRect' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                                                                                         `- error: cannot find type 'CGRect' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:48: error: cannot find type 'NSTextRange' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                `- error: cannot find type 'NSTextRange' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:67: error: cannot find type 'NSTextLayoutManager' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                   `- error: cannot find type 'NSTextLayoutManager' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:109: error: cannot find type 'SegmentOptions' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                             `- error: cannot find type 'SegmentOptions' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:191: error: cannot find type 'NSTextLocation' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                                                               `- error: cannot find type 'NSTextLocation' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:75: error: cannot find type 'NSTextRange' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                           `- error: cannot find type 'NSTextRange' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:97: error: cannot find type 'NSTextLayoutFragment' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                 `- error: cannot find type 'NSTextLayoutFragment' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:157: error: cannot find type 'NSTextLayoutFragment' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                             `- error: cannot find type 'NSTextLayoutFragment' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:175:42: error: cannot find type 'NSTextLocation' in scope
173 | extension NSTextLayoutManager {
174 |
175 |     public var insertionPointLocations: [NSTextLocation] {
    |                                          `- error: cannot find type 'NSTextLocation' in scope
176 |         insertionPointSelections.flatMap(\.textRanges).map(\.location).sorted(by: { $0 < $1 })
177 |     }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:179:43: error: cannot find type 'NSTextSelection' in scope
177 |     }
178 |
179 |     public var insertionPointSelections: [NSTextSelection] {
    |                                           `- error: cannot find type 'NSTextSelection' in scope
180 |         textSelections.filter(_textSelectionInsertionPointFilter)
181 |     }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/9] Emitting module STTextKitPlus
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:37:11: error: cannot find type 'NSRange' in scope
35 | #endif
36 |
37 | extension NSRange {
   |           `- error: cannot find type 'NSRange' in scope
38 |
39 |     /// A value indicating that a requested item couldn’t be found or doesn’t exist.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextContentManager.swift:37:18: error: cannot find type 'NSTextContentManager' in scope
 35 | #endif
 36 |
 37 | public extension NSTextContentManager {
    |                  `- error: cannot find type 'NSTextContentManager' in scope
 38 |
 39 |     func location(at offset: Int) -> NSTextLocation? {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutFragment.swift:37:11: error: cannot find type 'NSTextLayoutFragment' in scope
35 | #endif
36 |
37 | extension NSTextLayoutFragment {
   |           `- error: cannot find type 'NSTextLayoutFragment' in scope
38 |
39 |     /// Whether the layout fragment is for the extra line fragment at the end of a document.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:37:11: error: cannot find type 'NSTextLayoutManager' in scope
 35 | #endif
 36 |
 37 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 38 |
 39 |     /// Extra line layout fragment.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:73:11: error: cannot find type 'NSTextLayoutManager' in scope
 71 |
 72 |
 73 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 74 |
 75 |     public func textLineFragment(at location: NSTextLocation) -> NSTextLineFragment? {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:85:11: error: cannot find type 'NSTextLayoutManager' in scope
 83 | }
 84 |
 85 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
 86 |
 87 |     /// Returns a location of text produced by a tap or click at the point you specify.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:115:11: error: cannot find type 'NSTextLayoutManager' in scope
113 | }
114 |
115 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
116 |
117 |     /// Typographic bounds of the range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:150:11: error: cannot find type 'NSTextLayoutManager' in scope
148 | }
149 |
150 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
151 |
152 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:173:11: error: cannot find type 'NSTextLayoutManager' in scope
171 | }
172 |
173 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
174 |
175 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLayoutManager.swift:184:50: error: cannot find type 'NSTextSelection' in scope
182 | }
183 |
184 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
185 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
186 | }
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLineFragment.swift:37:11: error: cannot find type 'NSTextLineFragment' in scope
35 | #endif
36 |
37 | extension NSTextLineFragment {
   |           `- error: cannot find type 'NSTextLineFragment' in scope
38 |
39 |     /// Whether the line fragment is for the extra line fragment at the end of a document.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextLocation+Equatable.swift:37:18: error: cannot find type 'NSTextLocation' in scope
35 | #endif
36 |
37 | public extension NSTextLocation {
   |                  `- error: cannot find type 'NSTextLocation' in scope
38 |
39 |     static func == (lhs: Self, rhs: Self) -> Bool {
/host/spi-builder-workspace/Sources/STTextKitPlus/NSTextRange.swift:37:11: error: cannot find type 'NSTextRange' in scope
35 | #endif
36 |
37 | extension NSTextRange {
   |           `- error: cannot find type 'NSTextRange' in scope
38 |
39 |     public convenience init?(_ nsRange: NSRange, in textContentManager: NSTextContentManager) {
[9/9] Compiling STTextKitPlus NSRange.swift
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:37:11: error: cannot find type 'NSRange' in scope
35 | #endif
36 |
37 | extension NSRange {
   |           `- error: cannot find type 'NSRange' in scope
38 |
39 |     /// A value indicating that a requested item couldn’t be found or doesn’t exist.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:40:34: error: cannot find 'NSRange' in scope
38 |
39 |     /// A value indicating that a requested item couldn’t be found or doesn’t exist.
40 |     public static let notFound = NSRange(location: NSNotFound, length: 0)
   |                                  `- error: cannot find 'NSRange' in scope
41 |
42 |     /// A Boolean value indicating whether the range is empty.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:40:52: error: cannot find 'NSNotFound' in scope
38 |
39 |     /// A value indicating that a requested item couldn’t be found or doesn’t exist.
40 |     public static let notFound = NSRange(location: NSNotFound, length: 0)
   |                                                    `- error: cannot find 'NSNotFound' in scope
41 |
42 |     /// A Boolean value indicating whether the range is empty.
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:49:30: error: cannot find type 'NSTextRange' in scope
47 |     }
48 |
49 |     public init(_ textRange: NSTextRange, in textContentManager: NSTextContentManager) {
   |                              `- error: cannot find type 'NSTextRange' in scope
50 |         let offset = textContentManager.offset(from: textContentManager.documentRange.location, to: textRange.location)
51 |         let length = textContentManager.offset(from: textRange.location, to: textRange.endLocation)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:49:66: error: cannot find type 'NSTextContentManager' in scope
47 |     }
48 |
49 |     public init(_ textRange: NSTextRange, in textContentManager: NSTextContentManager) {
   |                                                                  `- error: cannot find type 'NSTextContentManager' in scope
50 |         let offset = textContentManager.offset(from: textContentManager.documentRange.location, to: textRange.location)
51 |         let length = textContentManager.offset(from: textRange.location, to: textRange.endLocation)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:55:33: error: cannot find type 'NSTextLocation' in scope
53 |     }
54 |
55 |     public init(_ textLocation: NSTextLocation, in textContentManager: NSTextContentManager) {
   |                                 `- error: cannot find type 'NSTextLocation' in scope
56 |         let offset = textContentManager.offset(from: textContentManager.documentRange.location, to: textLocation)
57 |         self.init(location: offset, length: 0)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:55:72: error: cannot find type 'NSTextContentManager' in scope
53 |     }
54 |
55 |     public init(_ textLocation: NSTextLocation, in textContentManager: NSTextContentManager) {
   |                                                                        `- error: cannot find type 'NSTextContentManager' in scope
56 |         let offset = textContentManager.offset(from: textContentManager.documentRange.location, to: textLocation)
57 |         self.init(location: offset, length: 0)
/host/spi-builder-workspace/Sources/STTextKitPlus/NSRange.swift:61:25: error: cannot find type 'NSValue' in scope
59 |
60 |     /// Creates a new value object containing the specified Foundation range structure.
61 |     public var nsValue: NSValue {
   |                         `- error: cannot find type 'NSValue' in scope
62 |         NSValue(range: self)
63 |     }
BUILD FAILURE 6.0 linux