3 ms·
C++ has all of these except forward referencing declarations(though Importing Declarations requires modules which nobody uses yet). I'm not sure why forward re
by TinkersW 2y ago
C++ has all of these except forward referencing declarations(though Importing Declarations requires modules which nobody uses yet).
I'm not sure why forward reference declarations is needed nowadays(or if it really is from a language standpoint).
C could probably copy C++'s constexpr & static_assert stuff to get the first 2.
- WalterBright 2y agoNobody uses C++ modules because they are clumsy to use. D's are easy. Note: anyone is free to copy D's module design. It's the best one out there. > I'm not sure why forward reference declarations is needed nowadays The article gives reasons. Although they aren't necessary, they are deleterious to code layout which becomes a slave to the declaration order rather than aesthetic order. > C++'s constexpr is still lagging behind D's, after 17 years of development. In D, the garbage collector makes memory allocation in it trivial. Furthermore, only the path taken through a function needs to be CTFE-compatible, the path not taken does not.
- zeroonetwothree 2y agoRobert Frost would approve
- pjmlp 2y agoOffice has been migrating to modules, there are talks on the matter, and blog entries, https://devblogs.microsoft.com/cppblog/integrating-c-header-units-into-office-using-msvc-1-n/ https://devblogs.microsoft.com/cppblog/integrating-c-header-... https://devblogs.microsoft.com/cppblog/integrating-c-header-units-into-office-using-msvc-2-n/ https://devblogs.microsoft.com/cppblog/integrating-c-header-... https://devblogs.microsoft.com/cppblog/integrating-c-header-units-into-office-using-msvc-3-n/ https://devblogs.microsoft.com/cppblog/integrating-c-header-...
- dccsillag 2y agoIf I'm not mistaken, the treatment of forward declarations proposed in the article actually breaks the C standard, which would be a rather pressing concern. As far as I am aware, that is the reason why things are the way they are right now in C land. (In the past, there were more legitimate concerns on the ease of implementation. Nowadays, as the article points out, they are pretty moot, other than having to keep backwards-compatibility.) I'm also rather bothered that on the bit on const execution in the article, there was no discussion on how to deal with functions that may not terminate or take rather long to execute. Especially considering the unit tests motivation, this seems like a rather blaring omission.
- WalterBright 2y agoHow does it break the C Standard? > how to deal with functions that may not terminate or take rather long to execute Control-C, the same as when running any executable that shouldn't be taking that long. It doesn't solve the halting problem :-/
- UncleEntity 2y agoSo a single typo DDoSes the entire Red Hat buildbot fleet?
- kstenerud 2y agoYou set a timeout, like in any robust CI.
- loeg 2y agoC's already got static_assert; just missing constexpr.
- pjmlp 2y agoOffice team does use them. There is Vulkan based modules library. fmt has modules support. Me and several others already use modules in some extent. That is a bit more than nobody.