Some updates:
https://www.reddit.com/r/cpp/comments/4rj7us/trip_report_c_standards_meeting_in_oulu_june_2016/

Especially interesting are the mentions of 'accepted' features/proposals for 'C++20', including: - `operator.` (opDispatch) which /might/ even make it into C++17 given push by some international body; also includes some facets of `alias this` as it's hoped to be a core part of some of the reflection proposals [1] - designated initializers (from C) (D's static initializers but tied to struct names and usable anywhere `MyStruct{ field2: 0, field1: 'a' }`;

and some requiring 'further thought' like:
- discriminated unions (even full-blown pattern matching); [2]
- 'overload sets as function arguments' (basically the delegate pattern in D for passing a lazily determined member function pointer (or an untyped closure in general)); - contracts ('expects = in' and 'ensures = out()' but they take one big boolean expression; a bit more complicated than in D, but they're adding them in, not taking them out) [3] - 'parameter packs outside templates' which could go several ways from being basically native tuples with dedicated syntax, to almost (? not sure about differences in the proposal's specification vs behavior in D) the same thing as alias tuples in D now. [4]

I tried to focus on stuff already in D and stuff people are asking to add to D and the differences between the languages in them. I'll stop if it's deemed too off-topic :/

[1] http://wg21.link/p0252
    http://wg21.link/p0352
    http://wg21.link/p0060
[2] http://wg21.link/p0095r1
[3] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4415.pdf [4] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0341r0.html

Reply via email to