After the acceptance of SE-0389 and SE-0397, further implementation work showed that allowing macros to introduce arbitrary names at global scope is fundamentally prone to creating cycles during type resolution. When performing unqualified name lookup, the compiler must expand all macros that produce arbitrary names, but such a macro may also have arguments that must be type-checked prior to expansion, and doing so would require expanding the very same macro.
This limitation is not a minor obstacle to overcome but a characteristic of the design of Swift macros, so the Language Steering Group does not feel that a review of an amendment to the proposal would change the outcome. Therefore, we have updated SE-0389 and SE-0397 to add the restriction that peer macros and freestanding macros cannot introduce arbitrary names at global scope.
Note that this restriction only applies to arbitrary names; peer macros can still introduce declarations into global scope with named, prefixed, suffixed, or overloaded names, and freestanding macros can still introduce named declarations into global scope.
Therefore, I was looking for some solution that is in place or probably in plans. I would expect something like names: prefixed(Prefix) & suffixed(Suffix) or names: prefixed(Prefix), suffixed(Suffix) that would include name: PrefixSomeNameSuffix.
Could you suggest if it is currently possible in some way, please?