mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
With support for redundant conformance declarations via macros, the `Observable` protocol can be a non-marker protocol, which provides more flexibility for evolution in the future. rdar://111463883 This change also switches to the new ExtensionMacro protocol, the requirement for which includes information about whether the conformance to the Observable protocol has already been added, either in the declaration or in a superclass to the macro-attributed type. This allows the @Observable macro to be applied to subclasses of observable types without redundant-conformance errors.