From abbeaa28ae01a036df0f1301b8764f96a0f1d401 Mon Sep 17 00:00:00 2001 From: Stephen Celis Date: Wed, 8 Oct 2025 11:07:23 -0700 Subject: [PATCH] Hard-deprecate `@Reducer(state: .equatable)` These have been soft-deprecated for a long time in favor of folks using explicit extensions, but people seem to still be reaching for these APIs. Let's finally hard-deprecate them. --- Sources/ComposableArchitecture/Macros.swift | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/Sources/ComposableArchitecture/Macros.swift b/Sources/ComposableArchitecture/Macros.swift index 3d99dbf1984e..036387628e4c 100644 --- a/Sources/ComposableArchitecture/Macros.swift +++ b/Sources/ComposableArchitecture/Macros.swift @@ -39,11 +39,7 @@ public macro Reducer() = @attached(memberAttribute) @attached(extension, conformances: Reducer, CaseReducer) #if compiler(>=6) - @available(iOS, deprecated: 9999, message: "Define your conformance via extension, instead.")@available( - macOS, deprecated: 9999, message: "Define your conformance via extension, instead." - )@available(tvOS, deprecated: 9999, message: "Define your conformance via extension, instead.")@available( - watchOS, deprecated: 9999, message: "Define your conformance via extension, instead." - ) + @available(*, deprecated, message: "Define your conformance using an extension, instead") #endif public macro Reducer(state: _SynthesizedConformance..., action: _SynthesizedConformance...) = #externalMacro( @@ -56,11 +52,7 @@ public macro Reducer(state: _SynthesizedConformance..., action: _SynthesizedConf /// See for more information. @_documentation(visibility: public) #if compiler(>=6) - @available(iOS, deprecated: 9999, message: "Define your conformance via extension, instead.")@available( - macOS, deprecated: 9999, message: "Define your conformance via extension, instead." - )@available(tvOS, deprecated: 9999, message: "Define your conformance via extension, instead.")@available( - watchOS, deprecated: 9999, message: "Define your conformance via extension, instead." - ) + @available(*, deprecated, message: "Define your conformance using an extension, instead") #endif public struct _SynthesizedConformance: Sendable {}