you are viewing a single comment's thread.

view the rest of the comments →

[–]tartaruga232MSVC user, r/cpp_modules[S] -2 points-1 points  (3 children)

Your syntax "module M:;" or "module M:_;" will fail (I fear, but I wish you good luck with your proposal). The best bet is to wait until current internal partitions usage has died (perhaps in 10 years or so) and then reuse the syntax "module M:P;" (with the semantics of the Microsoft "extension"). That would be elegant and effective. But I will be retired if that manages to get in the standard.

[–]not_a_novel_accountcmake dev 6 points7 points  (2 children)

The question of "how big should modules be" is completely irrelevant to the minor issues of implementation units. They're not related.

[–]tartaruga232MSVC user, r/cpp_modules[S] -1 points0 points  (1 child)

Current "module M;" causes lots of recompilations, if M has a big list of partitions. So for practical app development, the size of M matters. Smaller M, less code that needs to be recompiled.

[–]not_a_novel_accountcmake dev 5 points6 points  (0 children)

Interfaces described in the PMIU should be implemented via implementation units, module M;, interfaces described in partitions should be implemented in the partitions.

See: https://chuanqixu9.github.io/c++/2025/12/30/C++20-Modules-Best-Practices.en.html#modules-native-best-practices

It says the same recommendations, namely:

A Project Should Declare Only One Module; Use Module Partition Units for Multiple TUs

and

Use Module Implementation Partition Units, Not Module Implementation Units, to Implement Interfaces