The Swift Package Index logo.Swift Package Index

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

Build Information

Failed to build STTextView, reference main (fabba8), with Swift 6.0 for Linux on 5 May 2025 10:49:53 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.61.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/krzyzanowskim/STTextView.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/krzyzanowskim/STTextView
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at fabba89 Implement UITextInput methods for position and range queries in STTextView
Cloned https://github.com/krzyzanowskim/STTextView.git
Revision (git rev-parse @):
fabba89f4301df142dc174729974eafa672e2eb7
SUCCESS checkout https://github.com/krzyzanowskim/STTextView.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/krzyzanowskim/STTextView.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:9029076bb687edc160a3d5201c89e92dd9fa7309f33f090c4234365c83366c31
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/krzyzanowskim/STTextKitPlus
Fetching https://github.com/krzyzanowskim/CoreTextSwift
[1/98] Fetching coretextswift
[99/230] Fetching coretextswift, sttextkitplus
Fetched https://github.com/krzyzanowskim/CoreTextSwift from cache (0.23s)
Fetched https://github.com/krzyzanowskim/STTextKitPlus from cache (0.23s)
Computing version for https://github.com/krzyzanowskim/CoreTextSwift
Computed https://github.com/krzyzanowskim/CoreTextSwift at 0.2.0 (1.82s)
Computing version for https://github.com/krzyzanowskim/STTextKitPlus
Computed https://github.com/krzyzanowskim/STTextKitPlus at 0.1.8 (0.50s)
Creating working copy for https://github.com/krzyzanowskim/CoreTextSwift
Working copy of https://github.com/krzyzanowskim/CoreTextSwift resolved at 0.2.0
Creating working copy for https://github.com/krzyzanowskim/STTextKitPlus
Working copy of https://github.com/krzyzanowskim/STTextKitPlus resolved at 0.1.8
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
[6/17] Emitting module STTextViewSwiftUI
[7/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 {
[8/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 {
[9/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 {
[10/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:150:11: error: cannot find type 'NSTextLayoutManager' in scope
148 | }
149 |
150 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
151 |
152 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:173:11: error: cannot find type 'NSTextLayoutManager' in scope
171 | }
172 |
173 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
174 |
175 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:184:50: error: cannot find type 'NSTextSelection' in scope
182 | }
183 |
184 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
185 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
186 | }
/host/spi-builder-workspace/.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:120:65: error: cannot find type 'CGRect' in scope
118 |     /// - Parameter textRange: The range.
119 |     /// - Returns: Typographic bounds of the range.
120 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                                 `- error: cannot find type 'CGRect' in scope
121 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
122 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:120:49: error: cannot find type 'NSTextRange' in scope
118 |     /// - Parameter textRange: The range.
119 |     /// - Returns: Typographic bounds of the range.
120 |     public func typographicBounds(in textRange: NSTextRange) -> CGRect? {
    |                                                 `- error: cannot find type 'NSTextRange' in scope
121 |         textSegmentFrame(in: textRange, type: .standard, options: [.upstreamAffinity, .rangeNotRequired])
122 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:152: error: cannot find type 'CGRect' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                                                                        `- error: cannot find type 'CGRect' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:47: error: cannot find type 'NSTextLocation' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                               `- error: cannot find type 'NSTextLocation' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:69: error: cannot find type 'NSTextLayoutManager' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                     `- error: cannot find type 'NSTextLayoutManager' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:125:111: error: cannot find type 'SegmentOptions' in scope
123 |
124 |     ///  A text segment is both logically and visually contiguous portion of the text content inside a line fragment.
125 |     public func textSegmentFrame(at location: NSTextLocation, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity]) -> CGRect? {
    |                                                                                                               `- error: cannot find type 'SegmentOptions' in scope
126 |         textSegmentFrame(in: NSTextRange(location: location), type: type, options: options)
127 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:169: error: cannot find type 'CGRect' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                                                                                         `- error: cannot find type 'CGRect' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:48: error: cannot find type 'NSTextRange' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                `- error: cannot find type 'NSTextRange' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:67: error: cannot find type 'NSTextLayoutManager' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                   `- error: cannot find type 'NSTextLayoutManager' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:132:109: error: cannot find type 'SegmentOptions' in scope
130 |     /// Text segment is a logically and visually contiguous portion of the text content inside a line fragment that you specify with a single text range.
131 |     /// The framework enumerates the segments visually from left to right.
132 |     public func textSegmentFrame(in textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: SegmentOptions = [.upstreamAffinity, .rangeNotRequired]) -> CGRect? {
    |                                                                                                             `- error: cannot find type 'SegmentOptions' in scope
133 |         var result: CGRect? = nil
134 |         // .upstreamAffinity: When specified, the segment is placed based on the upstream affinity for an empty range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:191: error: cannot find type 'NSTextLocation' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                                                               `- error: cannot find type 'NSTextLocation' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:75: error: cannot find type 'NSTextRange' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                           `- error: cannot find type 'NSTextRange' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:97: error: cannot find type 'NSTextLayoutFragment' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                 `- error: cannot find type 'NSTextLayoutFragment' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:159:157: error: cannot find type 'NSTextLayoutFragment' in scope
157 |     ///   - block: A closure you provide that determines if the enumeration finishes early.
158 |     /// - Returns: An NSTextLocation, or nil. If the method enumerates at least one fragment, it returns the edge of the enumerated range.
159 |     @discardableResult public func enumerateTextLayoutFragments(in range: NSTextRange, options: NSTextLayoutFragment.EnumerationOptions = [], using block: (NSTextLayoutFragment) -> Bool) -> NSTextLocation? {
    |                                                                                                                                                             `- error: cannot find type 'NSTextLayoutFragment' in scope
160 |         enumerateTextLayoutFragments(from: range.location, options: options) { layoutFragment in
161 |             let shouldContinue = layoutFragment.rangeInElement.location <= range.endLocation
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:175:42: error: cannot find type 'NSTextLocation' in scope
173 | extension NSTextLayoutManager {
174 |
175 |     public var insertionPointLocations: [NSTextLocation] {
    |                                          `- error: cannot find type 'NSTextLocation' in scope
176 |         insertionPointSelections.flatMap(\.textRanges).map(\.location).sorted(by: { $0 < $1 })
177 |     }
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:179:43: error: cannot find type 'NSTextSelection' in scope
177 |     }
178 |
179 |     public var insertionPointSelections: [NSTextSelection] {
    |                                           `- error: cannot find type 'NSTextSelection' in scope
180 |         textSelections.filter(_textSelectionInsertionPointFilter)
181 |     }
[11/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)
error: emit-module command failed with exit code 1 (use -v to see invocation)
[12/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:150:11: error: cannot find type 'NSTextLayoutManager' in scope
148 | }
149 |
150 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
151 |
152 |     /// Enumerates the text layout fragments in the specified range.
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:173:11: error: cannot find type 'NSTextLayoutManager' in scope
171 | }
172 |
173 | extension NSTextLayoutManager {
    |           `- error: cannot find type 'NSTextLayoutManager' in scope
174 |
175 |     public var insertionPointLocations: [NSTextLocation] {
/host/spi-builder-workspace/.build/checkouts/STTextKitPlus/Sources/STTextKitPlus/NSTextLayoutManager.swift:184:50: error: cannot find type 'NSTextSelection' in scope
182 | }
183 |
184 | private let _textSelectionInsertionPointFilter: (NSTextSelection) -> Bool = { textSelection in
    |                                                  `- error: cannot find type 'NSTextSelection' in scope
185 |     !textSelection.isLogical && textSelection.textRanges.contains(where: \.isEmpty)
186 | }
/host/spi-builder-workspace/.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) {
[13/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 |
[14/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 |     }
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 |
BUILD FAILURE 6.0 linux