The Swift compiler synthesizes a memberwise initializer for struct declarations automatically. If you write your own initializer, it overlaps the synthesized one. A solution to have both your initializer and the synthesized memberwise one is to write your initializer on an extension for the struct.
Is it possible to achieve this behavior with a macro? Is it possible for a macro to generate an initializer without overlapping the synthesized memberwise initializer?
Just generating an initializer with a macro does the same thing as typing it would do: the memberwise initializer is not synthesized anymore. At the same time "Macro expansion cannot introduce extension", so I can't do the solution I've talked about on the first paragraph.
I'm not sure what solutions to try next. Any suggestions?