There's barely a point in supporting moduleso sfar unless you really enjoy pain.
If we don't try to use them, we cannot complain they don't get used, someone has to submit bug reports.
MSVC chokes on many standard-defined constructs: https://github.com/microsoft/STL/issues/1694
clang does not claim to be "mostly usable" at all - most papers are not implemented: https://clang.llvm.org/cxx_status.html#cxx20
And gcc will only start ot be usable with CMake when version 14 is released - that has not happened yet.
And, as I mentioned before, IDE support is either buggy (Visual Studio) or non-existing (any other IDE/OS). So you're off to writing in a text editor and hoping your compiler works to a somewhat usable degree. Yes, at some point people should start using modules, I agree, but to advise library maintainers to ship modularized code... the tooling just isn't there yet.
I mean, the GitHub issue is Microsoft trying to ship their standard library modularized, they employ some of the most capable folks on the planet and pay them big money to get that done, while metaphorically sitting next to the Microsoft compiler devs, and they barely, barely get it done (with bugs, as they themselves mention). This is too much for most other library maintainers.
Someone has to actually try to use modules and report bugs.
Not every library has to work in all compilers of the world.
> Not every library has to work in all compilers of the world.
These two statements directly contradict each other. It's great that you are in a space where you can use modules, but most other people are not, and expecting them to ship modularized versions of their libraries is inconsiderate given the limitations they face.
- perfectly; in the most suitable way
- in an imagined way; in a way that is not likely to happen or be real
We already moved beyond a state where nothing really worked, to at very least being able to write CLI stuff using import std and our own libraries, alongside module fragments.
I have a couple of hobby projects on Github using modules.