mirror of
https://github.com/phranck/TUIkit.git
synced 2026-06-20 09:54:37 +00:00
Fix: Resolve Swift 6 Equatable conformance errors for MainActor-isolated Views
- Add explicit nonisolated == implementations using MainActor.assumeIsolated - Fix DimmedModifier, FlexibleFrameView, OverlayModifier - Remove unnecessary @preconcurrency attributes
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
/// The result is a flat, de-emphasized text layer with no visual ornaments.
|
||||
public struct DimmedModifier<Content: View>: View {
|
||||
/// The content to dim.
|
||||
nonisolated(unsafe) let content: Content
|
||||
let content: Content
|
||||
|
||||
public var body: Never {
|
||||
fatalError("DimmedModifier renders via Renderable")
|
||||
@@ -24,7 +24,11 @@ public struct DimmedModifier<Content: View>: View {
|
||||
|
||||
// MARK: - Equatable Conformance
|
||||
|
||||
extension DimmedModifier: @preconcurrency Equatable where Content: Equatable {}
|
||||
extension DimmedModifier: Equatable where Content: Equatable {
|
||||
nonisolated public static func == (lhs: DimmedModifier<Content>, rhs: DimmedModifier<Content>) -> Bool {
|
||||
MainActor.assumeIsolated { lhs.content == rhs.content }
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Ornament Characters
|
||||
|
||||
|
||||
@@ -41,7 +41,20 @@ public struct FlexibleFrameView<Content: View>: View {
|
||||
|
||||
// MARK: - Equatable Conformance
|
||||
|
||||
extension FlexibleFrameView: @preconcurrency Equatable where Content: Equatable {}
|
||||
extension FlexibleFrameView: Equatable where Content: Equatable {
|
||||
nonisolated public static func == (lhs: FlexibleFrameView<Content>, rhs: FlexibleFrameView<Content>) -> Bool {
|
||||
MainActor.assumeIsolated {
|
||||
lhs.content == rhs.content &&
|
||||
lhs.minWidth == rhs.minWidth &&
|
||||
lhs.idealWidth == rhs.idealWidth &&
|
||||
lhs.maxWidth == rhs.maxWidth &&
|
||||
lhs.minHeight == rhs.minHeight &&
|
||||
lhs.idealHeight == rhs.idealHeight &&
|
||||
lhs.maxHeight == rhs.maxHeight &&
|
||||
lhs.alignment == rhs.alignment
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Renderable
|
||||
|
||||
|
||||
@@ -26,7 +26,15 @@ public struct OverlayModifier<Base: View, Overlay: View>: View {
|
||||
|
||||
// MARK: - Equatable Conformance
|
||||
|
||||
extension OverlayModifier: @preconcurrency Equatable where Base: Equatable, Overlay: Equatable {}
|
||||
extension OverlayModifier: Equatable where Base: Equatable, Overlay: Equatable {
|
||||
nonisolated public static func == (lhs: OverlayModifier<Base, Overlay>, rhs: OverlayModifier<Base, Overlay>) -> Bool {
|
||||
MainActor.assumeIsolated {
|
||||
lhs.base == rhs.base &&
|
||||
lhs.overlay == rhs.overlay &&
|
||||
lhs.alignment == rhs.alignment
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Renderable
|
||||
|
||||
|
||||
Reference in New Issue
Block a user