Warning about retroactive Sendable conformance when using extension macro

I have an extension macro that adds conformance to a protocol inheriting from Sendable. Recently (starting with Xcode RC 1), I started receiving the warning: "Conformance to 'Sendable' must occur in the same source file as struct 'Foo'; use '@unchecked Sendable' for retroactive conformance". Is this a bug, or does the macro expansion count as a separate source file?

@AddSendable
struct Foo { }

The expansion producing the warning:

extension Foo: Sendable { } // Conformance to 'Sendable' must occur in the same source file as struct 'Foo'; use '@unchecked Sendable' for retroactive conformance
3 Likes