News for hackers. Stuff that matters.
Re:#include <rules> by tsimionescu on Sunday February 04, 2024 @10:12AM (#39250767)
> C++20 solved the include file issue with modules. The ecosystem is almost there with CMake 3.28 (released) and GCC 14 (some time in H1 this year) providing out of the box support.

According to CPPReference [0], there isn't a single compiler release available today that fully supports C++20 modules. So perhaps "it's fixed" is a bit early. Especially since C++ projects tend to lag the latest release of their compiler by a few years, so even if GCC14 will indeed be the first C++ compiler to support modules fully, you still need to learn to use include guards today if you're going to be working in C++.

This is one of the major problems of "modern C++" by the way. Major features always exist in principle long before they actually exist in practice (concepts being the other feature that took years to fully be supported).

[0] https://en.cppreference.com/w/cpp/compiler_support

Re:#include <rules> by dataflow on Sunday February 04, 2024 @01:32PM (#39252952)
> According to CPPReference [0], there isn't a single compiler release available today that fully supports C++20 modules

Seems to me like MSVC does at least? What do you see it missing?

Re:#include <rules> by tsimionescu on Sunday February 04, 2024 @02:20PM (#39253431)
I don't know the details, but the table is saying "partial" for MSVC as well, right?

Edit: at a deeper look, I think I misread the table a bit, I guess it's saying that the feature is partially supported in MSVC 19.00 and 19.10, but full support in 19.28. Sorry about that misunderstanding.