There are multiple caveats on providing this to users (we can't assume that macro invocations are idempotent, so the new behavior would have to be opt in, and this only benefits incremental compilation), but it's in our radar.
Unfortunately that doesn't seem to ever be a scenario cargo will support out of the box.
I belong to the school of thought that C style macros in C++ should be nuked.
Exception being source code I don't own.