3 ms·
Sadly, I really doubt it. The standards committee seems mostly interested in adding new template metaprogramming features at this point. What I /really/ wish th
by overgard 6y ago
Sadly, I really doubt it. The standards committee seems mostly interested in adding new template metaprogramming features at this point. What I /really/ wish they would focus on is modules. 100% of C++ developers suffer from horrible compile times, and yet it seems to always get punted.
(Not to mention that forcing developers to write header-only libraries to use templates pretty much makes them way less attractive anyway)
Edit: maybe I'm wrong? It looks like modules are in C++ 20. No idea if any compilers are supporting them yet.
- nindalf 6y agoIsn't modules already a part of C++20?
- petters 6y agoThe standardization work for modules is done. Now all build tools and code bases need to start supporting it in a good way.
- qalmakka 6y agoModules have been released with C++20, but no compiler has a complete implementation for them yet. Also the standard library hasn't been modularized yet.
- vips7L 6y agoMSVC is expected to have C++20 feature completeness in VS 2019 16.10 Preview 3. https://github.com/microsoft/STL/wiki/Changelog#expected-in-vs-2019-1610-preview-3 https://github.com/microsoft/STL/wiki/Changelog#expected-in-...
- zxzax 6y agoHow is it possible that modules were released, if nobody has a working implementation? I was under the impression that proposals needed at least a proof-of-concept implementation from a sponsor. My exposure to this is searching the CMake tracker for this last year and seeing that it wasn't even working there yet.
- jcelerier 6y ago> How is it possible that modules were released, if nobody has a working implementation? there were plenty of experimental implementations over the years, some people have been using some flavour of "modules" with MSVC and Clang for something like 5 years... hell, technically it has always been possible to compile code as objective-C++ to leverage the objc module system if you could afford to use clang everywhere
- qalmakka 6y agoAs the other answer said, nobody has (yet) an implementation of the _released_ standard, but both GCC and especially Clang have had modules very close to what stabilized by C++20 for years. You can enable them by specifying a flag (-fmodules-ts) on any recent release of Clang.
- zxzax 6y agoI know that but I'm just baffled that the text of the standard could be released at a point in time when nobody has succeeded at implementing it fully. That seems like it would almost guarantee that no one implements the standard as it's written, as there is no proof-of-concept that it's truly viable... I'd expect to see several revisions to this before C++23 as the compilers work out the issues.
- pjmlp 6y agoWatch the Visual C++ virtual day coming next week.
- sesuximo 6y agoModules doesn’t even really speed up the build if you have a highly parallel build... and it’s unclear how build tools should support it in a uniform way. I think modules will go unused but I hope I’m wrong