diff options
| author | Christian Cleberg <[email protected]> | 2026-08-07 17:11:52 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-08-07 17:11:52 -0500 |
| commit | b2a1265cadccc34cbdab71b9ed638b908cac9f62 (patch) | |
| tree | 5f8c64d535883f0487d4f8ba1f71291835e64fcb | |
| parent | 9d85bc7c154843693913bf0cc67c6e9ff0d8f897 (diff) | |
| download | hutch-b2a1265cadccc34cbdab71b9ed638b908cac9f62.tar.gz hutch-b2a1265cadccc34cbdab71b9ed638b908cac9f62.tar.bz2 hutch-b2a1265cadccc34cbdab71b9ed638b908cac9f62.zip | |
Fix Swift 6-mode isolation and attribute warnings
Under SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor these are warnings in Swift 5
mode and errors in Swift 6 mode:
- Drop @retroactive from 'extension LookupType: AppEnum'; LookupType is
declared in this module, so the attribute never applied.
- Mark SyntaxHighlightTheme and SyntaxHighlighter nonisolated. They were
inferred @MainActor but are built and used from the nonisolated markdown
renderers in Task.detached; nonisolated makes the off-main confinement
correct (Highlightr's JSContext was being driven off the main actor).
| -rw-r--r-- | Hutch/App/HutchIntents.swift | 2 | ||||
| -rw-r--r-- | Hutch/Views/Repositories/SyntaxHighlighter.swift | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/Hutch/App/HutchIntents.swift b/Hutch/App/HutchIntents.swift index fe4ebdc..ff8fec8 100644 --- a/Hutch/App/HutchIntents.swift +++ b/Hutch/App/HutchIntents.swift @@ -337,7 +337,7 @@ struct CheckBuildsIntent: AppIntent { // MARK: - Search Type -extension LookupType: @retroactive AppEnum { +extension LookupType: AppEnum { public nonisolated static var typeDisplayRepresentation: TypeDisplayRepresentation { TypeDisplayRepresentation(name: "Search Type") } diff --git a/Hutch/Views/Repositories/SyntaxHighlighter.swift b/Hutch/Views/Repositories/SyntaxHighlighter.swift index 5ae8f58..f8b2cbb 100644 --- a/Hutch/Views/Repositories/SyntaxHighlighter.swift +++ b/Hutch/Views/Repositories/SyntaxHighlighter.swift @@ -3,7 +3,7 @@ import Highlightr import SwiftUI import UIKit -enum SyntaxHighlightTheme { +nonisolated enum SyntaxHighlightTheme { case light case dark @@ -31,7 +31,7 @@ enum SyntaxHighlightTheme { /// instance must stay on the thread/task that created it. Callers that fail to /// resolve a language — or hit an unavailable engine — get `nil` and should /// fall back to plain, escaped text. -final class SyntaxHighlighter { +nonisolated final class SyntaxHighlighter { private let highlightr: Highlightr? private let supportedLanguages: Set<String> |
