The Swift Package Index logo.Swift Package Index

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

Build Information

Failed to build STTextView, reference 2.0.7 (15b36f), with Swift 6.1 for Wasm on 31 May 2025 04:35:41 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/krzyzanowskim/STTextView.git
Reference: 2.0.7
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/STTextView
 * tag               2.0.7      -> FETCH_HEAD
HEAD is now at 15b36f3 update changelog
Cloned https://github.com/krzyzanowskim/STTextView.git
Revision (git rev-parse @):
15b36f3821090f21733eb72849aa375f0be65046
SUCCESS checkout https://github.com/krzyzanowskim/STTextView.git at 2.0.7
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/krzyzanowskim/STTextView.git
https://github.com/krzyzanowskim/STTextView.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "sttextkitplus",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.1.3",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/krzyzanowskim/STTextKitPlus"
    },
    {
      "identity" : "coretextswift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.2.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/krzyzanowskim/CoreTextSwift"
    }
  ],
  "manifest_display_name" : "STTextView",
  "name" : "STTextView",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "STTextView",
      "targets" : [
        "STTextView",
        "STTextViewSwiftUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "STTextViewUIKitTests",
      "module_type" : "SwiftTarget",
      "name" : "STTextViewUIKitTests",
      "path" : "Tests/STTextViewUIKitTests",
      "sources" : [
        "TextViewTests.swift"
      ],
      "target_dependencies" : [
        "STTextViewUIKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "STTextViewUIKit",
      "module_type" : "SwiftTarget",
      "name" : "STTextViewUIKit",
      "path" : "Sources/STTextViewUIKit",
      "product_dependencies" : [
        "STTextKitPlus",
        "CoreTextSwift"
      ],
      "product_memberships" : [
        "STTextView"
      ],
      "sources" : [
        "Gutter/STGutterLineNumberCell.swift",
        "Gutter/STGutterMarker.swift",
        "Gutter/STGutterView.swift",
        "Logger.swift",
        "Overlays/STContentView.swift",
        "Overlays/STLineHighlightView.swift",
        "Plugin/Plugin.swift",
        "Plugin/STPlugin.swift",
        "Plugin/STPluginContext.swift",
        "Plugin/STPluginEvents.swift",
        "STTextInputTokenizer.swift",
        "STTextLayoutFragment.swift",
        "STTextLayoutFragmentView.swift",
        "STTextLocation.swift",
        "STTextLocationRange.swift",
        "STTextSelectionRect.swift",
        "STTextView+Gutter.swift",
        "STTextView+NSTextLayoutManagerDelegate.swift",
        "STTextView+NSTextViewportLayoutControllerDelegate.swift",
        "STTextView+UIKeyInput.swift",
        "STTextView+UIResponderStandardEditActions.swift",
        "STTextView+UITextInput.swift",
        "STTextView+UITextInputTraits.swift",
        "STTextView+UITextInteractionDelegate.swift",
        "STTextView+Undo.swift",
        "STTextView.swift",
        "STTextViewDelegate.swift",
        "STTextViewDelegateProxy.swift",
        "UITextDirection+Conversion.swift"
      ],
      "target_dependencies" : [
        "STTextViewCommon",
        "STObjCLandShim"
      ],
      "type" : "library"
    },
    {
      "c99name" : "STTextViewSwiftUIUIKit",
      "module_type" : "SwiftTarget",
      "name" : "STTextViewSwiftUIUIKit",
      "path" : "Sources/STTextViewSwiftUIUIKit",
      "product_memberships" : [
        "STTextView"
      ],
      "sources" : [
        "TextView.swift",
        "TextViewModifier.swift"
      ],
      "target_dependencies" : [
        "STTextView"
      ],
      "type" : "library"
    },
    {
      "c99name" : "STTextViewSwiftUIAppKit",
      "module_type" : "SwiftTarget",
      "name" : "STTextViewSwiftUIAppKit",
      "path" : "Sources/STTextViewSwiftUIAppKit",
      "product_memberships" : [
        "STTextView"
      ],
      "sources" : [
        "TextView.swift",
        "TextViewModifier.swift"
      ],
      "target_dependencies" : [
        "STTextView"
      ],
      "type" : "library"
    },
    {
      "c99name" : "STTextViewSwiftUI",
      "module_type" : "SwiftTarget",
      "name" : "STTextViewSwiftUI",
      "path" : "Sources/STTextViewSwiftUI",
      "product_memberships" : [
        "STTextView"
      ],
      "sources" : [
        "module.swift"
      ],
      "target_dependencies" : [
        "STTextViewSwiftUIAppKit",
        "STTextViewSwiftUIUIKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "STTextViewCommon",
      "module_type" : "SwiftTarget",
      "name" : "STTextViewCommon",
      "path" : "Sources/STTextViewCommon",
      "product_dependencies" : [
        "STTextKitPlus"
      ],
      "product_memberships" : [
        "STTextView"
      ],
      "sources" : [
        "CoalescingUndoManager.swift",
        "Extensions/Geometric+Helpers.swift",
        "Extensions/NSAttributedString+Helpers.swift",
        "Extensions/NSParagraphStyle+Helpers.swift",
        "Extensions/NSRange+Helpers.swift",
        "Extensions/NSTextLayoutManager+Selection.swift",
        "Extensions/NStextLayoutFragment+isExtraLineFragment.swift",
        "STAttributedTextElement.swift",
        "STMarkedText.swift",
        "STTextContentStorage.swift",
        "STTextLayoutManager.swift",
        "STTextViewProtocol.swift",
        "Utilities/ApproximateEquality.swift",
        "Utilities/LineHeight.swift",
        "Utilities/PixelAlign.swift",
        "Utilities/STRulerInsets.swift",
        "Utilities/Throttler/Actor/Throttler.swift",
        "Utilities/Throttler/debounce.swift",
        "Utilities/Throttler/delay.swift",
        "Utilities/Throttler/throttle.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "STTextViewAppKitTests",
      "module_type" : "SwiftTarget",
      "name" : "STTextViewAppKitTests",
      "path" : "Tests/STTextViewAppKitTests",
      "sources" : [
        "ContentTests.swift",
        "Helpers/NSEvent+Create.swift",
        "TextSelectionNavigationTests.swift",
        "TextViewTests.swift",
        "TypingAttributesTests.swift",
        "UndoTests.swift"
      ],
      "target_dependencies" : [
        "STTextViewAppKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "STTextViewAppKit",
      "module_type" : "SwiftTarget",
      "name" : "STTextViewAppKit",
      "path" : "Sources/STTextViewAppKit",
      "product_dependencies" : [
        "STTextKitPlus",
        "CoreTextSwift"
      ],
      "product_memberships" : [
        "STTextView"
      ],
      "sources" : [
        "DragSelectedTextGestureRecognizer.swift",
        "Extensions/NSEdgeInsets+orientation.swift",
        "Extensions/NSResponder+debug.swift",
        "Extensions/NSTextContentManager+Helpers.swift",
        "Extensions/NSTextLayoutManager+Helpers.swift",
        "Extensions/NSTextLayoutManager+InsertionPoint.swift",
        "Extensions/NSView+Image.swift",
        "Gutter/STGutterContainerView.swift",
        "Gutter/STGutterLineNumberCell.swift",
        "Gutter/STGutterMarker.swift",
        "Gutter/STGutterMarkerContainerView.swift",
        "Gutter/STGutterSeparatorView.swift",
        "Gutter/STGutterView.swift",
        "Logger.swift",
        "Overlays/STContentView.swift",
        "Overlays/STLineHighlightView.swift",
        "Overlays/STSelectionHighlightView.swift",
        "Overlays/STSelectionView.swift",
        "Plugin/Plugin.swift",
        "Plugin/STPlugin.swift",
        "Plugin/STPluginContext.swift",
        "Plugin/STPluginEvents.swift",
        "STCompletion/STCompletionItem.swift",
        "STCompletion/STCompletionViewController.swift",
        "STCompletion/STCompletionViewControllerDelegate.swift",
        "STCompletion/STCompletionViewControllerProtocol.swift",
        "STCompletion/Window/STCompletionWindow.swift",
        "STCompletion/Window/STCompletionWindowController.swift",
        "STInsertionPointIndicatorProtocol.swift",
        "STInsertionPointView.swift",
        "STTextContainer.swift",
        "STTextFinderBarContainer.swift",
        "STTextFinderClient.swift",
        "STTextLayoutFragment.swift",
        "STTextLayoutFragmentView.swift",
        "STTextLayoutRangeView.swift",
        "STTextView+Accessibility.swift",
        "STTextView+Capitalization.swift",
        "STTextView+Complete.swift",
        "STTextView+CopyPaste.swift",
        "STTextView+Delete.swift",
        "STTextView+DragGestureRecognizer.swift",
        "STTextView+Find.swift",
        "STTextView+FontPanel.swift",
        "STTextView+Format.swift",
        "STTextView+Gutter.swift",
        "STTextView+Insert.swift",
        "STTextView+InsertionPoint.swift",
        "STTextView+Key.swift",
        "STTextView+Mouse.swift",
        "STTextView+NSColorChanging.swift",
        "STTextView+NSDraggingDestination.swift",
        "STTextView+NSDraggingSource.swift",
        "STTextView+NSServicesMenuRequestor.swift",
        "STTextView+NSTextCheckingClient.swift",
        "STTextView+NSTextInputClient.swift",
        "STTextView+NSTextLayoutManagerDelegate.swift",
        "STTextView+NSTextLayoutOrientationProvider.swift",
        "STTextView+NSTextViewportLayoutControllerDelegate.swift",
        "STTextView+NSUserInterfaceValidations.swift",
        "STTextView+Scrolling.swift",
        "STTextView+Select.swift",
        "STTextView+Speech.swift",
        "STTextView+Undo.swift",
        "STTextView+Yank.swift",
        "STTextView.swift",
        "STTextViewDelegate.swift",
        "STTextViewDelegateProxy.swift",
        "Utility/NSColor+TextInsertionPoint.swift",
        "YankingManager.swift"
      ],
      "target_dependencies" : [
        "STTextViewCommon",
        "STObjCLandShim"
      ],
      "type" : "library"
    },
    {
      "c99name" : "STTextView",
      "module_type" : "SwiftTarget",
      "name" : "STTextView",
      "path" : "Sources/STTextView",
      "product_memberships" : [
        "STTextView"
      ],
      "sources" : [
        "module.swift"
      ],
      "target_dependencies" : [
        "STTextViewAppKit",
        "STTextViewUIKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "STObjCLandShim",
      "module_type" : "ClangTarget",
      "name" : "STObjCLandShim",
      "path" : "Sources/STObjCLandShim",
      "product_memberships" : [
        "STTextView"
      ],
      "sources" : [
        "STObjCLandShim.m"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Fetching https://github.com/krzyzanowskim/STTextKitPlus
Fetching https://github.com/krzyzanowskim/CoreTextSwift
[1/98] Fetching coretextswift
[99/237] Fetching coretextswift, sttextkitplus
Fetched https://github.com/krzyzanowskim/CoreTextSwift from cache (0.31s)
Fetched https://github.com/krzyzanowskim/STTextKitPlus from cache (0.32s)
Computing version for https://github.com/krzyzanowskim/CoreTextSwift
Computed https://github.com/krzyzanowskim/CoreTextSwift at 0.2.0 (3.36s)
Computing version for https://github.com/krzyzanowskim/STTextKitPlus
Computed https://github.com/krzyzanowskim/STTextKitPlus at 0.1.9 (2.82s)
Creating working copy for https://github.com/krzyzanowskim/STTextKitPlus
Working copy of https://github.com/krzyzanowskim/STTextKitPlus resolved at 0.1.9
Creating working copy for https://github.com/krzyzanowskim/CoreTextSwift
Working copy of https://github.com/krzyzanowskim/CoreTextSwift resolved at 0.2.0
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Sources/STTextViewCommon/Utilities/Throttler/LICENSE
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/17] Emitting module STTextKitPlus
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:162:11: error: cannot find type 'NSTextLayoutManager' in scope
160 | }
161 |
162 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
163 |
164 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:185:11: error: cannot find type 'NSTextLayoutManager' in scope
183 | }
184 |
185 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
186 |
187 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:196:50: error: cannot find type 'NSTextSelection' in scope
194 | }
195 |
196 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
197 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
198 | }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/17] Compiling STTextKitPlus NSTextRange.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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 {
[8/17] Compiling STTextKitPlus NSTextLineFragment.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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 {
[9/17] Compiling STTextKitPlus NSTextLocation+Equatable.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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 {
[10/17] Compiling STTextKitPlus NSTextLayoutFragment.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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)
[11/17] Compiling STTextKitPlus NSTextLayoutManager.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:162:11: error: cannot find type 'NSTextLayoutManager' in scope
160 | }
161 |
162 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
163 |
164 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:185:11: error: cannot find type 'NSTextLayoutManager' in scope
183 | }
184 |
185 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
186 |
187 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:196:50: error: cannot find type 'NSTextSelection' in scope
194 | }
195 |
196 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
197 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
198 | }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:122:65: error: cannot find type 'CGRect' in scope
120 |     ///
121 |     /// Returns a union of each segment frame in the range, which may be larger than the area needed to layout the range.
122 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                                 `- error: cannot find type 'CGRect' in scope
123 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
124 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:122:49: error: cannot find type 'NSTextRange' in scope
120 |     ///
121 |     /// Returns a union of each segment frame in the range, which may be larger than the area needed to layout the range.
122 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                 `- error: cannot find type 'NSTextRange' in scope
123 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
124 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:127:152: error: cannot find type 'CGRect' in scope
125 |
126 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
127 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                                                                        `- error: cannot find type 'CGRect' in scope
128 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
129 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:127:47: error: cannot find type 'NSTextLocation' in scope
125 |
126 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
127 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                               `- error: cannot find type 'NSTextLocation' in scope
128 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
129 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:127:69: error: cannot find type 'NSTextLayoutManager' in scope
125 |
126 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
127 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                     `- error: cannot find type 'NSTextLayoutManager' in scope
128 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
129 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:127:111: error: cannot find type 'SegmentOptions' in scope
125 |
126 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
127 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                               `- error: cannot find type 'SegmentOptions' in scope
128 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
129 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:134:169: error: cannot find type 'CGRect' in scope
132 |     /// 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.
133 |     /// The framework enumerates the segments visually from left to right.
134 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                                                                                         `- error: cannot find type 'CGRect' in scope
135 |         var result: CGRect? = nil
136 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:134:48: error: cannot find type 'NSTextRange' in scope
132 |     /// 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.
133 |     /// The framework enumerates the segments visually from left to right.
134 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                `- error: cannot find type 'NSTextRange' in scope
135 |         var result: CGRect? = nil
136 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:134:67: error: cannot find type 'NSTextLayoutManager' in scope
132 |     /// 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.
133 |     /// The framework enumerates the segments visually from left to right.
134 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                   `- error: cannot find type 'NSTextLayoutManager' in scope
135 |         var result: CGRect? = nil
136 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:134:109: error: cannot find type 'SegmentOptions' in scope
132 |     /// 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.
133 |     /// The framework enumerates the segments visually from left to right.
134 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                             `- error: cannot find type 'SegmentOptions' in scope
135 |         var result: CGRect? = nil
136 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:151:171: error: cannot find type 'CGRect' in scope
149 |
150 |     /// Enumerates text segments in the text range you provide.
151 |     public func textSegmentFrames(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> [CGRect] {
    |                                                                                                                                                                           `- error: cannot find type 'CGRect' in scope
152 |         var result: [CGRect] = []
153 |         enumerateTextSegments(in: textRange, type: type, options: options) { textSegmentRange, textSegmentFrame, baselinePosition, textContainer -> Bool in
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:151:49: error: cannot find type 'NSTextRange' in scope
149 |
150 |     /// Enumerates text segments in the text range you provide.
151 |     public func textSegmentFrames(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> [CGRect] {
    |                                                 `- error: cannot find type 'NSTextRange' in scope
152 |         var result: [CGRect] = []
153 |         enumerateTextSegments(in: textRange, type: type, options: options) { textSegmentRange, textSegmentFrame, baselinePosition, textContainer -> Bool in
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:151:68: error: cannot find type 'NSTextLayoutManager' in scope
149 |
150 |     /// Enumerates text segments in the text range you provide.
151 |     public func textSegmentFrames(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> [CGRect] {
    |                                                                    `- error: cannot find type 'NSTextLayoutManager' in scope
152 |         var result: [CGRect] = []
153 |         enumerateTextSegments(in: textRange, type: type, options: options) { textSegmentRange, textSegmentFrame, baselinePosition, textContainer -> Bool in
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:151:110: error: cannot find type 'SegmentOptions' in scope
149 |
150 |     /// Enumerates text segments in the text range you provide.
151 |     public func textSegmentFrames(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> [CGRect] {
    |                                                                                                              `- error: cannot find type 'SegmentOptions' in scope
152 |         var result: [CGRect] = []
153 |         enumerateTextSegments(in: textRange, type: type, options: options) { textSegmentRange, textSegmentFrame, baselinePosition, textContainer -> Bool in
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:171:191: error: cannot find type 'NSTextLocation' in scope
169 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
170 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
171 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                                                               `- error: cannot find type 'NSTextLocation' in scope
172 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
173 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:171:75: error: cannot find type 'NSTextRange' in scope
169 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
170 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
171 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                           `- error: cannot find type 'NSTextRange' in scope
172 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
173 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:171:97: error: cannot find type 'NSTextLayoutFragment' in scope
169 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
170 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
171 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                 `- error: cannot find type 'NSTextLayoutFragment' in scope
172 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
173 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:171:157: error: cannot find type 'NSTextLayoutFragment' in scope
169 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
170 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
171 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                             `- error: cannot find type 'NSTextLayoutFragment' in scope
172 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
173 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:187:42: error: cannot find type 'NSTextLocation' in scope
185 | extension NSTextLayoutManager {
186 |
187 |     public var insertionPointLocations: [NSTextLocation] {
    |                                          `- error: cannot find type 'NSTextLocation' in scope
188 |         insertionPointSelections.flatMap(\.textRanges).map(\.location).sorted(by: { $0 < $1 })
189 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:191:43: error: cannot find type 'NSTextSelection' in scope
189 |     }
190 |
191 |     public var insertionPointSelections: [NSTextSelection] {
    |                                           `- error: cannot find type 'NSTextSelection' in scope
192 |         textSelections.filter(_textSelectionInsertionPointFilter)
193 |     }
[12/17] Compiling STTextKitPlus NSTextContentManager.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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 |
[13/17] Compiling STTextKitPlus NSRange.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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 |     }
[14/17] Emitting module STTextViewSwiftUI
error: emit-module command failed with exit code 1 (use -v to see invocation)
[15/17] Emitting module STTextView
/host/spi-builder-workspace/Sources/STTextView/module.swift:11:19: error: no such module 'STTextViewCommon'
 9 | #endif
10 |
11 | @_exported import STTextViewCommon
   |                   `- error: no such module 'STTextViewCommon'
12 |
13 |
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Sources/STTextViewCommon/Utilities/Throttler/LICENSE
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/13] Compiling STTextKitPlus NSTextLocation+Equatable.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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 {
[3/13] Compiling STTextKitPlus NSTextLayoutManager.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:162:11: error: cannot find type 'NSTextLayoutManager' in scope
160 | }
161 |
162 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
163 |
164 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:185:11: error: cannot find type 'NSTextLayoutManager' in scope
183 | }
184 |
185 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
186 |
187 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:196:50: error: cannot find type 'NSTextSelection' in scope
194 | }
195 |
196 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
197 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
198 | }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:122:65: error: cannot find type 'CGRect' in scope
120 |     ///
121 |     /// Returns a union of each segment frame in the range, which may be larger than the area needed to layout the range.
122 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                                 `- error: cannot find type 'CGRect' in scope
123 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
124 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:122:49: error: cannot find type 'NSTextRange' in scope
120 |     ///
121 |     /// Returns a union of each segment frame in the range, which may be larger than the area needed to layout the range.
122 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                 `- error: cannot find type 'NSTextRange' in scope
123 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
124 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:127:152: error: cannot find type 'CGRect' in scope
125 |
126 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
127 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                                                                        `- error: cannot find type 'CGRect' in scope
128 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
129 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:127:47: error: cannot find type 'NSTextLocation' in scope
125 |
126 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
127 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                               `- error: cannot find type 'NSTextLocation' in scope
128 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
129 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:127:69: error: cannot find type 'NSTextLayoutManager' in scope
125 |
126 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
127 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                     `- error: cannot find type 'NSTextLayoutManager' in scope
128 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
129 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:127:111: error: cannot find type 'SegmentOptions' in scope
125 |
126 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
127 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                               `- error: cannot find type 'SegmentOptions' in scope
128 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
129 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:134:169: error: cannot find type 'CGRect' in scope
132 |     /// 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.
133 |     /// The framework enumerates the segments visually from left to right.
134 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                                                                                         `- error: cannot find type 'CGRect' in scope
135 |         var result: CGRect? = nil
136 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:134:48: error: cannot find type 'NSTextRange' in scope
132 |     /// 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.
133 |     /// The framework enumerates the segments visually from left to right.
134 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                `- error: cannot find type 'NSTextRange' in scope
135 |         var result: CGRect? = nil
136 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:134:67: error: cannot find type 'NSTextLayoutManager' in scope
132 |     /// 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.
133 |     /// The framework enumerates the segments visually from left to right.
134 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                   `- error: cannot find type 'NSTextLayoutManager' in scope
135 |         var result: CGRect? = nil
136 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:134:109: error: cannot find type 'SegmentOptions' in scope
132 |     /// 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.
133 |     /// The framework enumerates the segments visually from left to right.
134 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                             `- error: cannot find type 'SegmentOptions' in scope
135 |         var result: CGRect? = nil
136 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:151:171: error: cannot find type 'CGRect' in scope
149 |
150 |     /// Enumerates text segments in the text range you provide.
151 |     public func textSegmentFrames(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> [CGRect] {
    |                                                                                                                                                                           `- error: cannot find type 'CGRect' in scope
152 |         var result: [CGRect] = []
153 |         enumerateTextSegments(in: textRange, type: type, options: options) { textSegmentRange, textSegmentFrame, baselinePosition, textContainer -> Bool in
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:151:49: error: cannot find type 'NSTextRange' in scope
149 |
150 |     /// Enumerates text segments in the text range you provide.
151 |     public func textSegmentFrames(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> [CGRect] {
    |                                                 `- error: cannot find type 'NSTextRange' in scope
152 |         var result: [CGRect] = []
153 |         enumerateTextSegments(in: textRange, type: type, options: options) { textSegmentRange, textSegmentFrame, baselinePosition, textContainer -> Bool in
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:151:68: error: cannot find type 'NSTextLayoutManager' in scope
149 |
150 |     /// Enumerates text segments in the text range you provide.
151 |     public func textSegmentFrames(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> [CGRect] {
    |                                                                    `- error: cannot find type 'NSTextLayoutManager' in scope
152 |         var result: [CGRect] = []
153 |         enumerateTextSegments(in: textRange, type: type, options: options) { textSegmentRange, textSegmentFrame, baselinePosition, textContainer -> Bool in
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:151:110: error: cannot find type 'SegmentOptions' in scope
149 |
150 |     /// Enumerates text segments in the text range you provide.
151 |     public func textSegmentFrames(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> [CGRect] {
    |                                                                                                              `- error: cannot find type 'SegmentOptions' in scope
152 |         var result: [CGRect] = []
153 |         enumerateTextSegments(in: textRange, type: type, options: options) { textSegmentRange, textSegmentFrame, baselinePosition, textContainer -> Bool in
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:171:191: error: cannot find type 'NSTextLocation' in scope
169 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
170 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
171 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                                                               `- error: cannot find type 'NSTextLocation' in scope
172 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
173 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:171:75: error: cannot find type 'NSTextRange' in scope
169 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
170 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
171 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                           `- error: cannot find type 'NSTextRange' in scope
172 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
173 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:171:97: error: cannot find type 'NSTextLayoutFragment' in scope
169 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
170 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
171 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                 `- error: cannot find type 'NSTextLayoutFragment' in scope
172 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
173 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:171:157: error: cannot find type 'NSTextLayoutFragment' in scope
169 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
170 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
171 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                             `- error: cannot find type 'NSTextLayoutFragment' in scope
172 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
173 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:187:42: error: cannot find type 'NSTextLocation' in scope
185 | extension NSTextLayoutManager {
186 |
187 |     public var insertionPointLocations: [NSTextLocation] {
    |                                          `- error: cannot find type 'NSTextLocation' in scope
188 |         insertionPointSelections.flatMap(\.textRanges).map(\.location).sorted(by: { $0 < $1 })
189 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:191:43: error: cannot find type 'NSTextSelection' in scope
189 |     }
190 |
191 |     public var insertionPointSelections: [NSTextSelection] {
    |                                           `- error: cannot find type 'NSTextSelection' in scope
192 |         textSelections.filter(_textSelectionInsertionPointFilter)
193 |     }
[4/13] Compiling STTextKitPlus NSTextContentManager.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/13] Compiling STTextKitPlus NSTextLayoutFragment.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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)
[6/13] Compiling STTextKitPlus NSTextLineFragment.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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)
[7/13] Emitting module STTextKitPlus
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:162:11: error: cannot find type 'NSTextLayoutManager' in scope
160 | }
161 |
162 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
163 |
164 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:185:11: error: cannot find type 'NSTextLayoutManager' in scope
183 | }
184 |
185 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
186 |
187 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:196:50: error: cannot find type 'NSTextSelection' in scope
194 | }
195 |
196 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
197 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
198 | }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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) {
[8/13] Compiling STTextKitPlus NSRange.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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 |     }
[9/13] Compiling STTextKitPlus NSTextRange.swift
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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/.build/checkouts/STTextKitPlus/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 {
error: emit-module command failed with exit code 1 (use -v to see invocation)
[10/13] Emitting module STTextView
/host/spi-builder-workspace/Sources/STTextView/module.swift:11:19: error: no such module 'STTextViewCommon'
 9 | #endif
10 |
11 | @_exported import STTextViewCommon
   |                   `- error: no such module 'STTextViewCommon'
12 |
13 |
[11/13] Emitting module STTextViewSwiftUI
BUILD FAILURE 6.1 wasm