isocpp / isocpp/CppCoreGuidelines

Update guidelines for existence of C++20 modules

Open
#2,295 1 comment 0 reactions 1 assignee View on GitHub

@GabrielDosReis is already working on this.

Since Jan 15, 2026.

Dominant language
CSS
Stars
45.3k
Forks
5.6k
PR merge metrics
No merged PRs in 30d

Description

In at least four places, the guidelines mention modules as if they were still in the future. Specifically,

  • ES.30, Note: In the future, modules are likely to eliminate the need for macros in configuration control.
  • SF.4, 2nd Note, last bullet point: full protection and flexibility require modules.
  • SF.9, Reason: [Cycles] complicate conversion to use language-supported modules (when they become available).
  • SF.10, Enforcement: No really good solution is possible until we have modules.

Appendix B also frames the issue in terms of modules, but I suspect it means that in a more general sense, like translation unit or source file.

Since modules have been approved for about five years, it would be helpful if these were updated to reflect current implementations.

In addition, SF.22 recommends using unnamed (anonymous) namespaces rather than static declarations. However, if you use a C++ module shouldn't declaring an entity in the module without export have the same external effect as using an unnamed namespace?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.