> I'll stand corrected on the technical details of the build2 implementation of modules.
Thank you.
> I still think the p1689 is a more robust implementation
I agree prescan has advantages, like being easier to integrate into existing build systems/analyzers/IDEs, but robustness is definitely not one of them. What can be more robust than the compiler asking the build system directly during compilation for the information it needs? Compared to the prescan, where the build system first scans the world with one set of command lines, digests the dependencies, and then starts invoking the compiler with another set of command lines.
Also, the mapper approach could be used to address other long-standing issues, like proper generated header support: https://wg21.link/P1842R0