Back To Schedule

C++ Modules

The Challenges of Implementing Header Units

14:30 - 16:00 Wednesday 10th May 2023 MT Flug Auditorium
Intermediate
Advanced
Standard Library

While C++ Modules were introduced in C++20, we still don’t have widespread adoption because the tooling support is still far from being generally available. While there has been significant progress in supporting named modules, header units still have many unanswered questions about how they will be implemented, which could lead to divergent behaviors in different toolchains.

In this talk, we will explore the challenges that header units, as specified in C++20, create for implementers. We will explore possible solutions to those challenges, with the intent of raising awareness to specific design choices that still must be made on how implementations will support header units.

This talk will particularly make the case that, in order to prevent poor interoperability, we need a stronger convergence around how tooling should implement support for header units. This talk is the result of two years of work by the Tooling Study Group (SG15) of the C++ Standard Committee on how to implement support for C++ Modules.

View Slides

Daniel Ruoso

Bloomberg

Currently working as the manager for Code Governance at Bloomberg, where we focus on driving large scale Static Analysis and Automated Refactoring, as well as Building Consensus across engineering. Daniel has been working over the past 20+ years with a persistent lens on how to help engineers be more effective with build, deployment and analysis tooling on various different environments and languages.