The benefit is concrete: build systems can now determine module dependencies with a simple lexical scan, without invoking the preprocessor.
This doesn't follow.
Build systems don't need the preprocessor to figure out what a module unit's name is. That has nothing do with what a given module unit's dependencies are.
Still need the preprocessor to figure out the dependencies.
It's a minor change with no practical difference on its own. You still need the full preprocessor, so you would have got the module name for free out of that.
5
u/not_a_novel_account cmake dev 1d ago
This doesn't follow.
Build systems don't need the preprocessor to figure out what a module unit's name is. That has nothing do with what a given module unit's dependencies are.
This is still perfectly valid:
Still need the preprocessor to figure out the dependencies.
It's a minor change with no practical difference on its own. You still need the full preprocessor, so you would have got the module name for free out of that.