On Monday, 8 June 2015 at 19:24:47 UTC, Walter Bright wrote:
On 6/8/2015 11:17 AM, Paulo Pinto wrote:
Apparently modules have been pushed into a Technical
Specification, and won't be
ready on time for inclusion into ANSI C++ 17.
https://botondballo.wordpress.com/2015/06/05/trip-report-c-standards-meeting-in-lenexa-may-2015/
So, here is another feature that D wins over C++.
Looks like C++ is adopting ever more D features:
"proposed a syntax for declaring preconditions, postconditions,
and invariants for a function in its interface (i.e. in its
declaration), primarily for the purpose of static analysis and
enabling compiler optimizations."
"Bjarne presented the latest version of his proposal for
automatically generating comparison operators for class types."
"Unified call syntax. This proposal, by Bjarne, seeks to unify
the member (x.f(y)) and non-member (f(x, y)) call syntaxes by
allowing functions of either kind to be invoked by syntax of
either kind."
"A restricted form of static_if;"
"Extending static_assert to allow taking for the error message
not just a string literal, but any constant expression that can
be converted to a string literal."
"noexcept(auto), which basically means “deduce the
noexcept-ness of this function from the noexcept-ness of the
functions it calls." (This is essentially doing "nothrow"
attribute inference.)
"Eric Niebler came to that meeting with a detailed and well
fleshed-out design for ranges in the standard library."
I see a problem that having those features in C++ will reduce the
desire from companies to adopt D.
At very least they should acknowledge all of you guys for the
ideas.