Is there anyway to use a macro without the
import module requirement in every file. Let's say I have a bunch of helper macros that I want to use across my project. The module wouldn't have functionality outside of providing the macros. Is usage like that intended?
I noticed I can seemingly achieve this by placing a
@_exported import MacrosLib in one file in the project, but obviously that is using underscored behaviour, and I'm not sure of its implications on compile time perf. etcetera.
@_exported imports are commonly used in large projects, such as server-side Swift packages like Vapor or Pointfree's TCA package. Maybe I am not hesitant to use such imports because I already rely on packages like TCA. However, I believe the Swift team recognizes the popularity of this type of import in the community
But usually it is used to passthrough extending dependencies like UIKit exports Foundation (since UIKit is kinda UIFoundation in a sense), rather than avoiding imports of some direct dependency in the current module. I think it's okay to use it as a solution (and it's also the only one I can think of), but I don't feel like "autoimports" is a good practice in general