Build Information
Successful build of Atlantis, reference main (816205), with Swift 6.1 for macOS (SPM) on 4 Oct 2026 13:04:57 UTC.
Swift 6 data race errors: 10
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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 InferSendableFromCapturesBuild Log
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:872:26: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:28: warning: call to main actor-isolated instance method 'scroll(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: call to main actor-isolated instance method 'scroll(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
AppKit.NSClipView.scroll:2:22: note: calls to instance method 'scroll(to:)' from outside of its actor context are implicitly asynchronous
1 | class NSClipView {
2 | @MainActor open func scroll(to newOrigin: NSPoint)}
| |- note: calls to instance method 'scroll(to:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:16: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:73: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:61: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:875:16: warning: call to main actor-isolated instance method 'reflectScrolledClipView' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
| `- warning: call to main actor-isolated instance method 'reflectScrolledClipView' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
AppKit.NSScrollView.reflectScrolledClipView:2:22: note: calls to instance method 'reflectScrolledClipView' from outside of its actor context are implicitly asynchronous
1 | class NSScrollView {
2 | @MainActor open func reflectScrolledClipView(_ cView: NSClipView)}
| |- note: calls to instance method 'reflectScrolledClipView' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:875:51: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:880:28: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
878 | private func applySearchHighlight(_ tv: NSTextView, matchRanges: [NSRange], currentMatchRange: NSRange?,
| `- note: add '@MainActor' to make global function 'applySearchHighlight(_:matchRanges:currentMatchRange:base:coordinator:)' part of global actor 'MainActor'
879 | base: NSAttributedString, coordinator: _Representable.Coordinator) {
880 | guard let storage = tv.textStorage else { return }
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
881 | let matchesChanged = matchRanges != coordinator.appliedMatchRanges
882 | let currentChanged = currentMatchRange != coordinator.appliedCurrentRange
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:113:55: note: property declared here
111 | @property (nullable, readonly, assign) NSLayoutManager *layoutManager;
112 |
113 | @property (nullable, readonly, assign) NSTextStorage *textStorage;
| `- note: property declared here
114 |
115 | // The text views's text layout manager, if its text container is configured with one; null otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:98: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
:
573 | switch mode {
574 | case .pretty: text = prettyText ?? ""
575 | case .raw: text = rawText ?? fallbackRawText()
| `- note: closure captures 'fallbackRawText' which is accessible to main actor-isolated code
576 | case .text: text = rawText ?? ""
577 | case .hex, .image, .tree: text = ""
[37/39] Compiling Atlantis AtlantisBodyStream.swift
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:21:16: warning: static property 'autoRenderLimitBytes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | enum AtlantisViewerSettings {
20 | @AppStorage("AtlantisViewerSettings.autoRenderLimitBytes")
21 | static var autoRenderLimitBytes: Int = 65_536
| |- warning: static property 'autoRenderLimitBytes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'autoRenderLimitBytes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'autoRenderLimitBytes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:58: warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:63: warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:597:11: warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
595 | paragraphStyle: paragraph)
596 | return AtlantisBodyStreamPrepared(text: text, attributed: attributed, lineStarts: lineStarts, hexDividerOffsets: [])
597 | }.value
| `- warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
598 | guard !Task.isCancelled else { stream = nil; return }
599 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:58: warning: non-sendable type 'Task<AtlantisBodyStreamPrepared, Never>' cannot exit main actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: non-sendable type 'Task<AtlantisBodyStreamPrepared, Never>' cannot exit main actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:597:11: warning: non-sendable type 'AtlantisBodyStreamPrepared' of nonisolated property 'value' cannot be sent to main actor-isolated context; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
595 | paragraphStyle: paragraph)
596 | return AtlantisBodyStreamPrepared(text: text, attributed: attributed, lineStarts: lineStarts, hexDividerOffsets: [])
597 | }.value
| `- warning: non-sendable type 'AtlantisBodyStreamPrepared' of nonisolated property 'value' cannot be sent to main actor-isolated context; this is an error in the Swift 6 language mode
598 | guard !Task.isCancelled else { stream = nil; return }
599 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:638:25: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
635 | var hexDividerOffsets: [CGFloat] = []
636 |
637 | @objc func boundsDidChange() {
| `- note: add '@MainActor' to make instance method 'boundsDidChange()' part of global actor 'MainActor'
638 | gutterView?.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
639 | overlayView?.updateLayers()
640 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:187:16: note: mutation of this property is only permitted within the actor
185 | @property (readonly) BOOL canDraw API_DEPRECATED("If a view needs display, -drawRect: or -updateLayer will be called automatically when the view is able to draw. To check whether a view is in a window, call -window. To check whether a view is hidden, call -isHiddenOrHasHiddenAncestor.", macos(10.0,10.14));
186 | - (void)setNeedsDisplayInRect:(NSRect)invalidRect;
187 | @property BOOL needsDisplay;
| `- note: mutation of this property is only permitted within the actor
188 | - (void)lockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
189 | - (void)unlockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:639:26: warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
635 | var hexDividerOffsets: [CGFloat] = []
636 |
637 | @objc func boundsDidChange() {
| `- note: add '@MainActor' to make instance method 'boundsDidChange()' part of global actor 'MainActor'
638 | gutterView?.needsDisplay = true
639 | overlayView?.updateLayers()
| `- warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
640 | }
641 |
:
808 | }
809 |
810 | func updateLayers() {
| |- note: calls to instance method 'updateLayers()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
811 | CATransaction.begin()
812 | CATransaction.setDisableActions(true)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:657:36: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
655 |
656 | let effectiveGutterWidth = showsLineNumbers ? gutterWidth : 0
657 | let bounds = container.bounds
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
658 | gutter.isHidden = !showsLineNumbers
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:658:20: warning: main actor-isolated property 'isHidden' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
656 | let effectiveGutterWidth = showsLineNumbers ? gutterWidth : 0
657 | let bounds = container.bounds
658 | gutter.isHidden = !showsLineNumbers
| `- warning: main actor-isolated property 'isHidden' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:92:34: note: mutation of this property is only permitted within the actor
90 | - (nullable NSView *)ancestorSharedWithView:(NSView *)view;
91 | @property (nullable, readonly, assign) NSView *opaqueAncestor;
92 | @property (getter=isHidden) BOOL hidden;
| `- note: mutation of this property is only permitted within the actor
93 | @property (getter=isHiddenOrHasHiddenAncestor, readonly) BOOL hiddenOrHasHiddenAncestor;
94 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:659:20: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
657 | let bounds = container.bounds
658 | gutter.isHidden = !showsLineNumbers
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
661 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:660:24: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
658 | gutter.isHidden = !showsLineNumbers
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
661 |
662 | gutter.lineStarts = lineStarts
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:662:20: warning: main actor-isolated property 'lineStarts' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
661 |
662 | gutter.lineStarts = lineStarts
| `- warning: main actor-isolated property 'lineStarts' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
663 | gutter.currentMatchRange = currentMatchRange
664 | gutter.nsTextView = textView
:
698 | weak var nsTextView: NSTextView?
699 | weak var nsScrollView: NSScrollView?
700 | var lineStarts: [Int] = [0]
| `- note: mutation of this property is only permitted within the actor
701 | var currentMatchRange: NSRange?
702 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:663:20: warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
661 |
662 | gutter.lineStarts = lineStarts
663 | gutter.currentMatchRange = currentMatchRange
| `- warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
664 | gutter.nsTextView = textView
665 | gutter.nsScrollView = scrollView
:
699 | weak var nsScrollView: NSScrollView?
700 | var lineStarts: [Int] = [0]
701 | var currentMatchRange: NSRange?
| `- note: mutation of this property is only permitted within the actor
702 |
703 | override var isFlipped: Bool { true }
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:664:20: warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
662 | gutter.lineStarts = lineStarts
663 | gutter.currentMatchRange = currentMatchRange
664 | gutter.nsTextView = textView
| `- warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
665 | gutter.nsScrollView = scrollView
666 | gutter.needsDisplay = true
:
696 |
697 | private final class AtlantisGutterView: NSView {
698 | weak var nsTextView: NSTextView?
| `- note: mutation of this property is only permitted within the actor
699 | weak var nsScrollView: NSScrollView?
700 | var lineStarts: [Int] = [0]
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:665:20: warning: main actor-isolated property 'nsScrollView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
663 | gutter.currentMatchRange = currentMatchRange
664 | gutter.nsTextView = textView
665 | gutter.nsScrollView = scrollView
| `- warning: main actor-isolated property 'nsScrollView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
666 | gutter.needsDisplay = true
667 |
:
697 | private final class AtlantisGutterView: NSView {
698 | weak var nsTextView: NSTextView?
699 | weak var nsScrollView: NSScrollView?
| `- note: mutation of this property is only permitted within the actor
700 | var lineStarts: [Int] = [0]
701 | var currentMatchRange: NSRange?
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:666:20: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
664 | gutter.nsTextView = textView
665 | gutter.nsScrollView = scrollView
666 | gutter.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
667 |
668 | overlay.currentMatchRange = currentMatchRange
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:187:16: note: mutation of this property is only permitted within the actor
185 | @property (readonly) BOOL canDraw API_DEPRECATED("If a view needs display, -drawRect: or -updateLayer will be called automatically when the view is able to draw. To check whether a view is in a window, call -window. To check whether a view is hidden, call -isHiddenOrHasHiddenAncestor.", macos(10.0,10.14));
186 | - (void)setNeedsDisplayInRect:(NSRect)invalidRect;
187 | @property BOOL needsDisplay;
| `- note: mutation of this property is only permitted within the actor
188 | - (void)lockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
189 | - (void)unlockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:668:21: warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
666 | gutter.needsDisplay = true
667 |
668 | overlay.currentMatchRange = currentMatchRange
| `- warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
:
754 | private final class AtlantisMatchOverlayView: NSView {
755 | weak var nsTextView: NSTextView?
756 | var currentMatchRange: NSRange?
| `- note: mutation of this property is only permitted within the actor
757 | /// Hex-mode column divider x-offsets, relative to `canvasInset` — empty for
758 | /// every other mode (B-5, design §6.3).
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:669:21: warning: main actor-isolated property 'hexDividerOffsets' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
667 |
668 | overlay.currentMatchRange = currentMatchRange
669 | overlay.hexDividerOffsets = hexDividerOffsets
| `- warning: main actor-isolated property 'hexDividerOffsets' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
:
757 | /// Hex-mode column divider x-offsets, relative to `canvasInset` — empty for
758 | /// every other mode (B-5, design §6.3).
759 | var hexDividerOffsets: [CGFloat] = []
| `- note: mutation of this property is only permitted within the actor
760 |
761 | // No fill layer: the current match's background is already painted by the
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:670:21: warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
668 | overlay.currentMatchRange = currentMatchRange
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
| `- warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
671 | overlay.frame = textView.bounds
672 | overlay.updateLayers()
:
753 | /// current-match change — never a `draw(_:)` override (B4-2, perf contract 10a).
754 | private final class AtlantisMatchOverlayView: NSView {
755 | weak var nsTextView: NSTextView?
| `- note: mutation of this property is only permitted within the actor
756 | var currentMatchRange: NSRange?
757 | /// Hex-mode column divider x-offsets, relative to `canvasInset` — empty for
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:671:21: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
672 | overlay.updateLayers()
673 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:671:38: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
672 | overlay.updateLayers()
673 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:672:21: warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
672 | overlay.updateLayers()
| `- warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
673 | }
674 | }
:
808 | }
809 |
810 | func updateLayers() {
| |- note: calls to instance method 'updateLayers()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
811 | CATransaction.begin()
812 | CATransaction.setDisableActions(true)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:864:34: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:111:57: note: property declared here
109 | - (void)invalidateTextContainerOrigin;
110 |
111 | @property (nullable, readonly, assign) NSLayoutManager *layoutManager;
| `- note: property declared here
112 |
113 | @property (nullable, readonly, assign) NSTextStorage *textStorage;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:864:68: warning: main actor-isolated property 'textContainer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
| `- warning: main actor-isolated property 'textContainer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:97:47: note: property declared here
95 |
96 | // The set method should not be called directly, but you might want to override it. Gets or sets the text container for this view. Setting the text container marks the view as needing display. The text container calls the set method from its setTextView: method.
97 | @property (nullable, assign) NSTextContainer *textContainer;
| `- note: property declared here
98 |
99 | // This method should be used instead of the primitive -setTextContainer: if you need to replace a view's text container with a new one leaving the rest of the web intact. This method deals with all the work of making sure the view doesn't get deallocated and removing the old container from the layoutManager and replacing it with the new one.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:867:33: warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
| `- warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:103:18: note: property declared here
101 |
102 | // The textContainerInset determines the padding that the view provides around the container. The container's origin will be inset by this amount from the bounds point {0,0} and padding will be left to the right and below the container of the same amount. This inset affects the view sizing in response to new layout and is used by the rectangular text containers when they track the view's frame dimensions.
103 | @property NSSize textContainerInset;
| `- note: property declared here
104 |
105 | // The container's origin in the view is determined from the current usage of the container, the container inset, and the view size. textContainerOrigin returns this point.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:867:66: warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
| `- warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:103:18: note: property declared here
101 |
102 | // The textContainerInset determines the padding that the view provides around the container. The container's origin will be inset by this amount from the bounds point {0,0} and padding will be left to the right and below the container of the same amount. This inset affects the view sizing in response to new layout and is used by the rectangular text containers when they track the view's frame dimensions.
103 | @property NSSize textContainerInset;
| `- note: property declared here
104 |
105 | // The container's origin in the view is determined from the current usage of the container, the container inset, and the view size. textContainerOrigin returns this point.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:869:49: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:869:37: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:872:26: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:28: warning: call to main actor-isolated instance method 'scroll(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: call to main actor-isolated instance method 'scroll(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
AppKit.NSClipView.scroll:2:22: note: calls to instance method 'scroll(to:)' from outside of its actor context are implicitly asynchronous
1 | class NSClipView {
2 | @MainActor open func scroll(to newOrigin: NSPoint)}
| |- note: calls to instance method 'scroll(to:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:16: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:73: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:61: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:875:16: warning: call to main actor-isolated instance method 'reflectScrolledClipView' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
| `- warning: call to main actor-isolated instance method 'reflectScrolledClipView' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
AppKit.NSScrollView.reflectScrolledClipView:2:22: note: calls to instance method 'reflectScrolledClipView' from outside of its actor context are implicitly asynchronous
1 | class NSScrollView {
2 | @MainActor open func reflectScrolledClipView(_ cView: NSClipView)}
| |- note: calls to instance method 'reflectScrolledClipView' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:875:51: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:880:28: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
878 | private func applySearchHighlight(_ tv: NSTextView, matchRanges: [NSRange], currentMatchRange: NSRange?,
| `- note: add '@MainActor' to make global function 'applySearchHighlight(_:matchRanges:currentMatchRange:base:coordinator:)' part of global actor 'MainActor'
879 | base: NSAttributedString, coordinator: _Representable.Coordinator) {
880 | guard let storage = tv.textStorage else { return }
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
881 | let matchesChanged = matchRanges != coordinator.appliedMatchRanges
882 | let currentChanged = currentMatchRange != coordinator.appliedCurrentRange
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:113:55: note: property declared here
111 | @property (nullable, readonly, assign) NSLayoutManager *layoutManager;
112 |
113 | @property (nullable, readonly, assign) NSTextStorage *textStorage;
| `- note: property declared here
114 |
115 | // The text views's text layout manager, if its text container is configured with one; null otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:98: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
:
573 | switch mode {
574 | case .pretty: text = prettyText ?? ""
575 | case .raw: text = rawText ?? fallbackRawText()
| `- note: closure captures 'fallbackRawText' which is accessible to main actor-isolated code
576 | case .text: text = rawText ?? ""
577 | case .hex, .image, .tree: text = ""
[38/39] Compiling Atlantis AtlantisBodyViewerView.swift
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:21:16: warning: static property 'autoRenderLimitBytes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | enum AtlantisViewerSettings {
20 | @AppStorage("AtlantisViewerSettings.autoRenderLimitBytes")
21 | static var autoRenderLimitBytes: Int = 65_536
| |- warning: static property 'autoRenderLimitBytes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'autoRenderLimitBytes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'autoRenderLimitBytes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:58: warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:63: warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:597:11: warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
595 | paragraphStyle: paragraph)
596 | return AtlantisBodyStreamPrepared(text: text, attributed: attributed, lineStarts: lineStarts, hexDividerOffsets: [])
597 | }.value
| `- warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
598 | guard !Task.isCancelled else { stream = nil; return }
599 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:58: warning: non-sendable type 'Task<AtlantisBodyStreamPrepared, Never>' cannot exit main actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: non-sendable type 'Task<AtlantisBodyStreamPrepared, Never>' cannot exit main actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:597:11: warning: non-sendable type 'AtlantisBodyStreamPrepared' of nonisolated property 'value' cannot be sent to main actor-isolated context; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
595 | paragraphStyle: paragraph)
596 | return AtlantisBodyStreamPrepared(text: text, attributed: attributed, lineStarts: lineStarts, hexDividerOffsets: [])
597 | }.value
| `- warning: non-sendable type 'AtlantisBodyStreamPrepared' of nonisolated property 'value' cannot be sent to main actor-isolated context; this is an error in the Swift 6 language mode
598 | guard !Task.isCancelled else { stream = nil; return }
599 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:638:25: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
635 | var hexDividerOffsets: [CGFloat] = []
636 |
637 | @objc func boundsDidChange() {
| `- note: add '@MainActor' to make instance method 'boundsDidChange()' part of global actor 'MainActor'
638 | gutterView?.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
639 | overlayView?.updateLayers()
640 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:187:16: note: mutation of this property is only permitted within the actor
185 | @property (readonly) BOOL canDraw API_DEPRECATED("If a view needs display, -drawRect: or -updateLayer will be called automatically when the view is able to draw. To check whether a view is in a window, call -window. To check whether a view is hidden, call -isHiddenOrHasHiddenAncestor.", macos(10.0,10.14));
186 | - (void)setNeedsDisplayInRect:(NSRect)invalidRect;
187 | @property BOOL needsDisplay;
| `- note: mutation of this property is only permitted within the actor
188 | - (void)lockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
189 | - (void)unlockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:639:26: warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
635 | var hexDividerOffsets: [CGFloat] = []
636 |
637 | @objc func boundsDidChange() {
| `- note: add '@MainActor' to make instance method 'boundsDidChange()' part of global actor 'MainActor'
638 | gutterView?.needsDisplay = true
639 | overlayView?.updateLayers()
| `- warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
640 | }
641 |
:
808 | }
809 |
810 | func updateLayers() {
| |- note: calls to instance method 'updateLayers()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
811 | CATransaction.begin()
812 | CATransaction.setDisableActions(true)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:657:36: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
655 |
656 | let effectiveGutterWidth = showsLineNumbers ? gutterWidth : 0
657 | let bounds = container.bounds
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
658 | gutter.isHidden = !showsLineNumbers
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:658:20: warning: main actor-isolated property 'isHidden' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
656 | let effectiveGutterWidth = showsLineNumbers ? gutterWidth : 0
657 | let bounds = container.bounds
658 | gutter.isHidden = !showsLineNumbers
| `- warning: main actor-isolated property 'isHidden' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:92:34: note: mutation of this property is only permitted within the actor
90 | - (nullable NSView *)ancestorSharedWithView:(NSView *)view;
91 | @property (nullable, readonly, assign) NSView *opaqueAncestor;
92 | @property (getter=isHidden) BOOL hidden;
| `- note: mutation of this property is only permitted within the actor
93 | @property (getter=isHiddenOrHasHiddenAncestor, readonly) BOOL hiddenOrHasHiddenAncestor;
94 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:659:20: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
657 | let bounds = container.bounds
658 | gutter.isHidden = !showsLineNumbers
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
661 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:660:24: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
658 | gutter.isHidden = !showsLineNumbers
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
661 |
662 | gutter.lineStarts = lineStarts
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:662:20: warning: main actor-isolated property 'lineStarts' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
661 |
662 | gutter.lineStarts = lineStarts
| `- warning: main actor-isolated property 'lineStarts' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
663 | gutter.currentMatchRange = currentMatchRange
664 | gutter.nsTextView = textView
:
698 | weak var nsTextView: NSTextView?
699 | weak var nsScrollView: NSScrollView?
700 | var lineStarts: [Int] = [0]
| `- note: mutation of this property is only permitted within the actor
701 | var currentMatchRange: NSRange?
702 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:663:20: warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
661 |
662 | gutter.lineStarts = lineStarts
663 | gutter.currentMatchRange = currentMatchRange
| `- warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
664 | gutter.nsTextView = textView
665 | gutter.nsScrollView = scrollView
:
699 | weak var nsScrollView: NSScrollView?
700 | var lineStarts: [Int] = [0]
701 | var currentMatchRange: NSRange?
| `- note: mutation of this property is only permitted within the actor
702 |
703 | override var isFlipped: Bool { true }
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:664:20: warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
662 | gutter.lineStarts = lineStarts
663 | gutter.currentMatchRange = currentMatchRange
664 | gutter.nsTextView = textView
| `- warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
665 | gutter.nsScrollView = scrollView
666 | gutter.needsDisplay = true
:
696 |
697 | private final class AtlantisGutterView: NSView {
698 | weak var nsTextView: NSTextView?
| `- note: mutation of this property is only permitted within the actor
699 | weak var nsScrollView: NSScrollView?
700 | var lineStarts: [Int] = [0]
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:665:20: warning: main actor-isolated property 'nsScrollView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
663 | gutter.currentMatchRange = currentMatchRange
664 | gutter.nsTextView = textView
665 | gutter.nsScrollView = scrollView
| `- warning: main actor-isolated property 'nsScrollView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
666 | gutter.needsDisplay = true
667 |
:
697 | private final class AtlantisGutterView: NSView {
698 | weak var nsTextView: NSTextView?
699 | weak var nsScrollView: NSScrollView?
| `- note: mutation of this property is only permitted within the actor
700 | var lineStarts: [Int] = [0]
701 | var currentMatchRange: NSRange?
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:666:20: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
664 | gutter.nsTextView = textView
665 | gutter.nsScrollView = scrollView
666 | gutter.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
667 |
668 | overlay.currentMatchRange = currentMatchRange
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:187:16: note: mutation of this property is only permitted within the actor
185 | @property (readonly) BOOL canDraw API_DEPRECATED("If a view needs display, -drawRect: or -updateLayer will be called automatically when the view is able to draw. To check whether a view is in a window, call -window. To check whether a view is hidden, call -isHiddenOrHasHiddenAncestor.", macos(10.0,10.14));
186 | - (void)setNeedsDisplayInRect:(NSRect)invalidRect;
187 | @property BOOL needsDisplay;
| `- note: mutation of this property is only permitted within the actor
188 | - (void)lockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
189 | - (void)unlockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:668:21: warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
666 | gutter.needsDisplay = true
667 |
668 | overlay.currentMatchRange = currentMatchRange
| `- warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
:
754 | private final class AtlantisMatchOverlayView: NSView {
755 | weak var nsTextView: NSTextView?
756 | var currentMatchRange: NSRange?
| `- note: mutation of this property is only permitted within the actor
757 | /// Hex-mode column divider x-offsets, relative to `canvasInset` — empty for
758 | /// every other mode (B-5, design §6.3).
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:669:21: warning: main actor-isolated property 'hexDividerOffsets' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
667 |
668 | overlay.currentMatchRange = currentMatchRange
669 | overlay.hexDividerOffsets = hexDividerOffsets
| `- warning: main actor-isolated property 'hexDividerOffsets' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
:
757 | /// Hex-mode column divider x-offsets, relative to `canvasInset` — empty for
758 | /// every other mode (B-5, design §6.3).
759 | var hexDividerOffsets: [CGFloat] = []
| `- note: mutation of this property is only permitted within the actor
760 |
761 | // No fill layer: the current match's background is already painted by the
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:670:21: warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
668 | overlay.currentMatchRange = currentMatchRange
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
| `- warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
671 | overlay.frame = textView.bounds
672 | overlay.updateLayers()
:
753 | /// current-match change — never a `draw(_:)` override (B4-2, perf contract 10a).
754 | private final class AtlantisMatchOverlayView: NSView {
755 | weak var nsTextView: NSTextView?
| `- note: mutation of this property is only permitted within the actor
756 | var currentMatchRange: NSRange?
757 | /// Hex-mode column divider x-offsets, relative to `canvasInset` — empty for
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:671:21: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
672 | overlay.updateLayers()
673 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:671:38: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
672 | overlay.updateLayers()
673 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:672:21: warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
672 | overlay.updateLayers()
| `- warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
673 | }
674 | }
:
808 | }
809 |
810 | func updateLayers() {
| |- note: calls to instance method 'updateLayers()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
811 | CATransaction.begin()
812 | CATransaction.setDisableActions(true)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:864:34: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:111:57: note: property declared here
109 | - (void)invalidateTextContainerOrigin;
110 |
111 | @property (nullable, readonly, assign) NSLayoutManager *layoutManager;
| `- note: property declared here
112 |
113 | @property (nullable, readonly, assign) NSTextStorage *textStorage;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:864:68: warning: main actor-isolated property 'textContainer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
| `- warning: main actor-isolated property 'textContainer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:97:47: note: property declared here
95 |
96 | // The set method should not be called directly, but you might want to override it. Gets or sets the text container for this view. Setting the text container marks the view as needing display. The text container calls the set method from its setTextView: method.
97 | @property (nullable, assign) NSTextContainer *textContainer;
| `- note: property declared here
98 |
99 | // This method should be used instead of the primitive -setTextContainer: if you need to replace a view's text container with a new one leaving the rest of the web intact. This method deals with all the work of making sure the view doesn't get deallocated and removing the old container from the layoutManager and replacing it with the new one.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:867:33: warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
| `- warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:103:18: note: property declared here
101 |
102 | // The textContainerInset determines the padding that the view provides around the container. The container's origin will be inset by this amount from the bounds point {0,0} and padding will be left to the right and below the container of the same amount. This inset affects the view sizing in response to new layout and is used by the rectangular text containers when they track the view's frame dimensions.
103 | @property NSSize textContainerInset;
| `- note: property declared here
104 |
105 | // The container's origin in the view is determined from the current usage of the container, the container inset, and the view size. textContainerOrigin returns this point.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:867:66: warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
| `- warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:103:18: note: property declared here
101 |
102 | // The textContainerInset determines the padding that the view provides around the container. The container's origin will be inset by this amount from the bounds point {0,0} and padding will be left to the right and below the container of the same amount. This inset affects the view sizing in response to new layout and is used by the rectangular text containers when they track the view's frame dimensions.
103 | @property NSSize textContainerInset;
| `- note: property declared here
104 |
105 | // The container's origin in the view is determined from the current usage of the container, the container inset, and the view size. textContainerOrigin returns this point.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:869:49: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:869:37: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:872:26: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:28: warning: call to main actor-isolated instance method 'scroll(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: call to main actor-isolated instance method 'scroll(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
AppKit.NSClipView.scroll:2:22: note: calls to instance method 'scroll(to:)' from outside of its actor context are implicitly asynchronous
1 | class NSClipView {
2 | @MainActor open func scroll(to newOrigin: NSPoint)}
| |- note: calls to instance method 'scroll(to:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:16: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:73: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:61: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:875:16: warning: call to main actor-isolated instance method 'reflectScrolledClipView' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
| `- warning: call to main actor-isolated instance method 'reflectScrolledClipView' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
AppKit.NSScrollView.reflectScrolledClipView:2:22: note: calls to instance method 'reflectScrolledClipView' from outside of its actor context are implicitly asynchronous
1 | class NSScrollView {
2 | @MainActor open func reflectScrolledClipView(_ cView: NSClipView)}
| |- note: calls to instance method 'reflectScrolledClipView' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:875:51: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:880:28: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
878 | private func applySearchHighlight(_ tv: NSTextView, matchRanges: [NSRange], currentMatchRange: NSRange?,
| `- note: add '@MainActor' to make global function 'applySearchHighlight(_:matchRanges:currentMatchRange:base:coordinator:)' part of global actor 'MainActor'
879 | base: NSAttributedString, coordinator: _Representable.Coordinator) {
880 | guard let storage = tv.textStorage else { return }
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
881 | let matchesChanged = matchRanges != coordinator.appliedMatchRanges
882 | let currentChanged = currentMatchRange != coordinator.appliedCurrentRange
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:113:55: note: property declared here
111 | @property (nullable, readonly, assign) NSLayoutManager *layoutManager;
112 |
113 | @property (nullable, readonly, assign) NSTextStorage *textStorage;
| `- note: property declared here
114 |
115 | // The text views's text layout manager, if its text container is configured with one; null otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:98: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
:
573 | switch mode {
574 | case .pretty: text = prettyText ?? ""
575 | case .raw: text = rawText ?? fallbackRawText()
| `- note: closure captures 'fallbackRawText' which is accessible to main actor-isolated code
576 | case .text: text = rawText ?? ""
577 | case .hex, .image, .tree: text = ""
[39/39] Compiling Atlantis AtlantisCodeTextView.swift
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:21:16: warning: static property 'autoRenderLimitBytes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | enum AtlantisViewerSettings {
20 | @AppStorage("AtlantisViewerSettings.autoRenderLimitBytes")
21 | static var autoRenderLimitBytes: Int = 65_536
| |- warning: static property 'autoRenderLimitBytes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'autoRenderLimitBytes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'autoRenderLimitBytes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:58: warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:63: warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:597:11: warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
595 | paragraphStyle: paragraph)
596 | return AtlantisBodyStreamPrepared(text: text, attributed: attributed, lineStarts: lineStarts, hexDividerOffsets: [])
597 | }.value
| `- warning: type 'AtlantisBodyStreamPrepared' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
598 | guard !Task.isCancelled else { stream = nil; return }
599 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:58: warning: non-sendable type 'Task<AtlantisBodyStreamPrepared, Never>' cannot exit main actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: non-sendable type 'Task<AtlantisBodyStreamPrepared, Never>' cannot exit main actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:597:11: warning: non-sendable type 'AtlantisBodyStreamPrepared' of nonisolated property 'value' cannot be sent to main actor-isolated context; this is an error in the Swift 6 language mode
27 | /// offsets. Chunked into an `AtlantisBodyStream` for progressive display
28 | /// (docs/plan-progressive-body-render.md Part 1).
29 | private struct AtlantisBodyStreamPrepared {
| `- note: consider making struct 'AtlantisBodyStreamPrepared' conform to the 'Sendable' protocol
30 | let text: String
31 | let attributed: NSAttributedString
:
595 | paragraphStyle: paragraph)
596 | return AtlantisBodyStreamPrepared(text: text, attributed: attributed, lineStarts: lineStarts, hexDividerOffsets: [])
597 | }.value
| `- warning: non-sendable type 'AtlantisBodyStreamPrepared' of nonisolated property 'value' cannot be sent to main actor-isolated context; this is an error in the Swift 6 language mode
598 | guard !Task.isCancelled else { stream = nil; return }
599 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:638:25: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
635 | var hexDividerOffsets: [CGFloat] = []
636 |
637 | @objc func boundsDidChange() {
| `- note: add '@MainActor' to make instance method 'boundsDidChange()' part of global actor 'MainActor'
638 | gutterView?.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
639 | overlayView?.updateLayers()
640 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:187:16: note: mutation of this property is only permitted within the actor
185 | @property (readonly) BOOL canDraw API_DEPRECATED("If a view needs display, -drawRect: or -updateLayer will be called automatically when the view is able to draw. To check whether a view is in a window, call -window. To check whether a view is hidden, call -isHiddenOrHasHiddenAncestor.", macos(10.0,10.14));
186 | - (void)setNeedsDisplayInRect:(NSRect)invalidRect;
187 | @property BOOL needsDisplay;
| `- note: mutation of this property is only permitted within the actor
188 | - (void)lockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
189 | - (void)unlockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:639:26: warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
635 | var hexDividerOffsets: [CGFloat] = []
636 |
637 | @objc func boundsDidChange() {
| `- note: add '@MainActor' to make instance method 'boundsDidChange()' part of global actor 'MainActor'
638 | gutterView?.needsDisplay = true
639 | overlayView?.updateLayers()
| `- warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
640 | }
641 |
:
808 | }
809 |
810 | func updateLayers() {
| |- note: calls to instance method 'updateLayers()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
811 | CATransaction.begin()
812 | CATransaction.setDisableActions(true)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:657:36: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
655 |
656 | let effectiveGutterWidth = showsLineNumbers ? gutterWidth : 0
657 | let bounds = container.bounds
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
658 | gutter.isHidden = !showsLineNumbers
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:658:20: warning: main actor-isolated property 'isHidden' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
656 | let effectiveGutterWidth = showsLineNumbers ? gutterWidth : 0
657 | let bounds = container.bounds
658 | gutter.isHidden = !showsLineNumbers
| `- warning: main actor-isolated property 'isHidden' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:92:34: note: mutation of this property is only permitted within the actor
90 | - (nullable NSView *)ancestorSharedWithView:(NSView *)view;
91 | @property (nullable, readonly, assign) NSView *opaqueAncestor;
92 | @property (getter=isHidden) BOOL hidden;
| `- note: mutation of this property is only permitted within the actor
93 | @property (getter=isHiddenOrHasHiddenAncestor, readonly) BOOL hiddenOrHasHiddenAncestor;
94 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:659:20: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
657 | let bounds = container.bounds
658 | gutter.isHidden = !showsLineNumbers
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
661 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:660:24: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
658 | gutter.isHidden = !showsLineNumbers
659 | gutter.frame = CGRect(x: 0, y: 0, width: effectiveGutterWidth, height: bounds.height)
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
661 |
662 | gutter.lineStarts = lineStarts
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:662:20: warning: main actor-isolated property 'lineStarts' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
660 | scrollView.frame = CGRect(x: effectiveGutterWidth, y: 0, width: bounds.width - effectiveGutterWidth, height: bounds.height)
661 |
662 | gutter.lineStarts = lineStarts
| `- warning: main actor-isolated property 'lineStarts' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
663 | gutter.currentMatchRange = currentMatchRange
664 | gutter.nsTextView = textView
:
698 | weak var nsTextView: NSTextView?
699 | weak var nsScrollView: NSScrollView?
700 | var lineStarts: [Int] = [0]
| `- note: mutation of this property is only permitted within the actor
701 | var currentMatchRange: NSRange?
702 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:663:20: warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
661 |
662 | gutter.lineStarts = lineStarts
663 | gutter.currentMatchRange = currentMatchRange
| `- warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
664 | gutter.nsTextView = textView
665 | gutter.nsScrollView = scrollView
:
699 | weak var nsScrollView: NSScrollView?
700 | var lineStarts: [Int] = [0]
701 | var currentMatchRange: NSRange?
| `- note: mutation of this property is only permitted within the actor
702 |
703 | override var isFlipped: Bool { true }
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:664:20: warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
662 | gutter.lineStarts = lineStarts
663 | gutter.currentMatchRange = currentMatchRange
664 | gutter.nsTextView = textView
| `- warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
665 | gutter.nsScrollView = scrollView
666 | gutter.needsDisplay = true
:
696 |
697 | private final class AtlantisGutterView: NSView {
698 | weak var nsTextView: NSTextView?
| `- note: mutation of this property is only permitted within the actor
699 | weak var nsScrollView: NSScrollView?
700 | var lineStarts: [Int] = [0]
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:665:20: warning: main actor-isolated property 'nsScrollView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
663 | gutter.currentMatchRange = currentMatchRange
664 | gutter.nsTextView = textView
665 | gutter.nsScrollView = scrollView
| `- warning: main actor-isolated property 'nsScrollView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
666 | gutter.needsDisplay = true
667 |
:
697 | private final class AtlantisGutterView: NSView {
698 | weak var nsTextView: NSTextView?
699 | weak var nsScrollView: NSScrollView?
| `- note: mutation of this property is only permitted within the actor
700 | var lineStarts: [Int] = [0]
701 | var currentMatchRange: NSRange?
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:666:20: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
664 | gutter.nsTextView = textView
665 | gutter.nsScrollView = scrollView
666 | gutter.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
667 |
668 | overlay.currentMatchRange = currentMatchRange
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:187:16: note: mutation of this property is only permitted within the actor
185 | @property (readonly) BOOL canDraw API_DEPRECATED("If a view needs display, -drawRect: or -updateLayer will be called automatically when the view is able to draw. To check whether a view is in a window, call -window. To check whether a view is hidden, call -isHiddenOrHasHiddenAncestor.", macos(10.0,10.14));
186 | - (void)setNeedsDisplayInRect:(NSRect)invalidRect;
187 | @property BOOL needsDisplay;
| `- note: mutation of this property is only permitted within the actor
188 | - (void)lockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
189 | - (void)unlockFocus API_DEPRECATED("To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.", macos(10.0,10.14));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:668:21: warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
666 | gutter.needsDisplay = true
667 |
668 | overlay.currentMatchRange = currentMatchRange
| `- warning: main actor-isolated property 'currentMatchRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
:
754 | private final class AtlantisMatchOverlayView: NSView {
755 | weak var nsTextView: NSTextView?
756 | var currentMatchRange: NSRange?
| `- note: mutation of this property is only permitted within the actor
757 | /// Hex-mode column divider x-offsets, relative to `canvasInset` — empty for
758 | /// every other mode (B-5, design §6.3).
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:669:21: warning: main actor-isolated property 'hexDividerOffsets' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
667 |
668 | overlay.currentMatchRange = currentMatchRange
669 | overlay.hexDividerOffsets = hexDividerOffsets
| `- warning: main actor-isolated property 'hexDividerOffsets' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
:
757 | /// Hex-mode column divider x-offsets, relative to `canvasInset` — empty for
758 | /// every other mode (B-5, design §6.3).
759 | var hexDividerOffsets: [CGFloat] = []
| `- note: mutation of this property is only permitted within the actor
760 |
761 | // No fill layer: the current match's background is already painted by the
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:670:21: warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
668 | overlay.currentMatchRange = currentMatchRange
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
| `- warning: main actor-isolated property 'nsTextView' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
671 | overlay.frame = textView.bounds
672 | overlay.updateLayers()
:
753 | /// current-match change — never a `draw(_:)` override (B4-2, perf contract 10a).
754 | private final class AtlantisMatchOverlayView: NSView {
755 | weak var nsTextView: NSTextView?
| `- note: mutation of this property is only permitted within the actor
756 | var currentMatchRange: NSRange?
757 | /// Hex-mode column divider x-offsets, relative to `canvasInset` — empty for
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:671:21: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
672 | overlay.updateLayers()
673 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:671:38: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
669 | overlay.hexDividerOffsets = hexDividerOffsets
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
672 | overlay.updateLayers()
673 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:672:21: warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
642 | /// Re-derives the gutter/text-view/overlay frames on every layout pass —
643 | /// not only when SwiftUI happens to call `updateNSView` (B4-6).
644 | func relayout() {
| `- note: add '@MainActor' to make instance method 'relayout()' part of global actor 'MainActor'
645 | guard let textView = textView, let scrollView = scrollView, let gutter = gutterView,
646 | let overlay = overlayView, let container = container else { return }
:
670 | overlay.nsTextView = textView
671 | overlay.frame = textView.bounds
672 | overlay.updateLayers()
| `- warning: call to main actor-isolated instance method 'updateLayers()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
673 | }
674 | }
:
808 | }
809 |
810 | func updateLayers() {
| |- note: calls to instance method 'updateLayers()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
811 | CATransaction.begin()
812 | CATransaction.setDisableActions(true)
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:864:34: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:111:57: note: property declared here
109 | - (void)invalidateTextContainerOrigin;
110 |
111 | @property (nullable, readonly, assign) NSLayoutManager *layoutManager;
| `- note: property declared here
112 |
113 | @property (nullable, readonly, assign) NSTextStorage *textStorage;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:864:68: warning: main actor-isolated property 'textContainer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
| `- warning: main actor-isolated property 'textContainer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:97:47: note: property declared here
95 |
96 | // The set method should not be called directly, but you might want to override it. Gets or sets the text container for this view. Setting the text container marks the view as needing display. The text container calls the set method from its setTextView: method.
97 | @property (nullable, assign) NSTextContainer *textContainer;
| `- note: property declared here
98 |
99 | // This method should be used instead of the primitive -setTextContainer: if you need to replace a view's text container with a new one leaving the rest of the web intact. This method deals with all the work of making sure the view doesn't get deallocated and removing the old container from the layoutManager and replacing it with the new one.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:867:33: warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
| `- warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:103:18: note: property declared here
101 |
102 | // The textContainerInset determines the padding that the view provides around the container. The container's origin will be inset by this amount from the bounds point {0,0} and padding will be left to the right and below the container of the same amount. This inset affects the view sizing in response to new layout and is used by the rectangular text containers when they track the view's frame dimensions.
103 | @property NSSize textContainerInset;
| `- note: property declared here
104 |
105 | // The container's origin in the view is determined from the current usage of the container, the container inset, and the view size. textContainerOrigin returns this point.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:867:66: warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
866 | var rect = layoutManager.boundingRect(forGlyphRange: glyphRange, in: container)
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
| `- warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:103:18: note: property declared here
101 |
102 | // The textContainerInset determines the padding that the view provides around the container. The container's origin will be inset by this amount from the bounds point {0,0} and padding will be left to the right and below the container of the same amount. This inset affects the view sizing in response to new layout and is used by the rectangular text containers when they track the view's frame dimensions.
103 | @property NSSize textContainerInset;
| `- note: property declared here
104 |
105 | // The container's origin in the view is determined from the current usage of the container, the container inset, and the view size. textContainerOrigin returns this point.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:869:49: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:869:37: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
867 | rect = rect.offsetBy(dx: tv.textContainerInset.width, dy: tv.textContainerInset.height)
868 |
869 | let viewportHeight = scrollView.contentView.bounds.height
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:872:26: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
870 | guard viewportHeight > 0 else { return }
871 | var targetY = rect.minY - viewportHeight * AtlantisSyntaxTheme.scrollToMatchFraction
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:28: warning: call to main actor-isolated instance method 'scroll(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: call to main actor-isolated instance method 'scroll(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
AppKit.NSClipView.scroll:2:22: note: calls to instance method 'scroll(to:)' from outside of its actor context are implicitly asynchronous
1 | class NSClipView {
2 | @MainActor open func scroll(to newOrigin: NSPoint)}
| |- note: calls to instance method 'scroll(to:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:16: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:73: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:874:61: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
872 | let maxY = max(0, tv.bounds.height - viewportHeight)
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
876 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:875:16: warning: call to main actor-isolated instance method 'reflectScrolledClipView' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
| `- warning: call to main actor-isolated instance method 'reflectScrolledClipView' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
AppKit.NSScrollView.reflectScrolledClipView:2:22: note: calls to instance method 'reflectScrolledClipView' from outside of its actor context are implicitly asynchronous
1 | class NSScrollView {
2 | @MainActor open func reflectScrolledClipView(_ cView: NSClipView)}
| |- note: calls to instance method 'reflectScrolledClipView' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:875:51: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
861 | }
862 |
863 | private func scrollToMatch(_ range: NSRange, in tv: NSTextView, scrollView: NSScrollView) {
| `- note: add '@MainActor' to make global function 'scrollToMatch(_:in:scrollView:)' part of global actor 'MainActor'
864 | guard let layoutManager = tv.layoutManager, let container = tv.textContainer else { return }
865 | let glyphRange = layoutManager.glyphRange(forCharacterRange: range, actualCharacterRange: nil)
:
873 | targetY = max(0, min(targetY, maxY))
874 | scrollView.contentView.scroll(to: NSPoint(x: scrollView.contentView.bounds.origin.x, y: targetY))
875 | scrollView.reflectScrolledClipView(scrollView.contentView)
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisCodeTextView.swift:880:28: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
876 | }
877 |
878 | private func applySearchHighlight(_ tv: NSTextView, matchRanges: [NSRange], currentMatchRange: NSRange?,
| `- note: add '@MainActor' to make global function 'applySearchHighlight(_:matchRanges:currentMatchRange:base:coordinator:)' part of global actor 'MainActor'
879 | base: NSAttributedString, coordinator: _Representable.Coordinator) {
880 | guard let storage = tv.textStorage else { return }
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
881 | let matchesChanged = matchRanges != coordinator.appliedMatchRanges
882 | let currentChanged = currentMatchRange != coordinator.appliedCurrentRange
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:113:55: note: property declared here
111 | @property (nullable, readonly, assign) NSLayoutManager *layoutManager;
112 |
113 | @property (nullable, readonly, assign) NSTextStorage *textStorage;
| `- note: property declared here
114 |
115 | // The text views's text layout manager, if its text container is configured with one; null otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/AtlantisBodyViewerView.swift:562:98: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
560 | let wordWrap = kind.wrapMode == .word
561 |
562 | let prepared: AtlantisBodyStreamPrepared = await Task.detached(priority: .userInitiated) {
| `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
563 | if mode == .hex {
564 | let dump = AtlantisHexDump.build(data, asciiVisible: ascii)
:
573 | switch mode {
574 | case .pretty: text = prettyText ?? ""
575 | case .raw: text = rawText ?? fallbackRawText()
| `- note: closure captures 'fallbackRawText' which is accessible to main actor-isolated code
576 | case .text: text = rawText ?? ""
577 | case .hex, .image, .tree: text = ""
Build complete! (10.74s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Atlantis",
"name" : "Atlantis",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "tvos",
"version" : "16.0"
},
{
"name" : "watchos",
"version" : "10.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "Atlantis",
"targets" : [
"Atlantis"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "AtlantisTests",
"module_type" : "SwiftTarget",
"name" : "AtlantisTests",
"path" : "Tests/atlantisTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/atlantisTests/Resources/sse-server.js",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"AtlantisBodyContentTests.swift",
"AtlantisBodyHighlighterTests.swift",
"AtlantisBodyStreamTests.swift",
"AtlantisBodyViewerTests.swift",
"AtlantisCodeTextViewTests.swift",
"AtlantisHeadlessStructuralTests.swift",
"AtlantisJSONTreeTests.swift",
"AtlantisOverviewModelTests.swift",
"AtlantisOverviewViewSmokeTests.swift",
"AtlantisViewerTests.swift",
"atlantisTests.swift"
],
"target_dependencies" : [
"Atlantis"
],
"type" : "test"
},
{
"c99name" : "Atlantis",
"module_type" : "SwiftTarget",
"name" : "Atlantis",
"path" : "Sources",
"product_memberships" : [
"Atlantis"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Atlantis+Manual.swift",
"Atlantis.swift",
"AtlantisBodyContent.swift",
"AtlantisBodyPreviewCard.swift",
"AtlantisBodySearch.swift",
"AtlantisBodyStream.swift",
"AtlantisBodyViewerView.swift",
"AtlantisCodeTextView.swift",
"AtlantisFormat.swift",
"AtlantisHelper.swift",
"AtlantisHexDump.swift",
"AtlantisJSONTree.swift",
"AtlantisJSONTreeView.swift",
"AtlantisJSONValue.swift",
"AtlantisOverviewBandView.swift",
"AtlantisOverviewCardsView.swift",
"AtlantisOverviewModel.swift",
"AtlantisOverviewWebSocketView.swift",
"AtlantisSyntaxHighlighter.swift",
"AtlantisSyntaxTheme.swift",
"AtlantisTrafficCurl.swift",
"AtlantisTrafficDetailView.swift",
"AtlantisTrafficExport.swift",
"AtlantisTrafficFilter.swift",
"AtlantisTrafficListView.swift",
"AtlantisTrafficStore.swift",
"Configuration.swift",
"DispatchQueue+Once.swift",
"NetworkInjector+URLSession.swift",
"NetworkInjector.swift",
"PackageIdentifier.swift",
"Packages.swift",
"Runtime.swift",
"URLSessionTask+CurrentRequest.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.