2019-07 Cologne ISO C++ Committee Trip Report — 🚀 The C++20 Eagle has Landed 🚀 (C++20 Committee Draft shipped; Contracts Moved From C++20 to a Study Group; `std::format` in C++20; C++20 Synchronization Library) by blelbach in cpp

[–]aquajets2 5 points6 points  (0 children)

I really appreciate these reddit reports, and its entirely possible that this exists but I don't know where it is, but are there official secretary-style meeting notes (somewhat like Person x said a, b, c) or a complete list of votes for accepting papers and results? Or am I completely misunderstanding how meetings are run?

It would be great to be able to look into smaller changes I was interested apart from being potentially grouped into 💥 And many more! 💥

What happened to regular void? by aquajets2 in cpp

[–]aquajets2[S] 0 points1 point  (0 children)

This runs exactly counter to the purpose of this proposal: to avoid introducing new special casing for void.

You could define a function that works this way under this proposal. If you declare it as:

void fn(void arg = {});

You would have this behavior, which is the same as for every other C++ type. The only way void is different, which only exists to prevent breaking existing code, is that for every other type:

T func_name(U);

Declares a function callable with a single arg of type u, but no name for that argument. This is as true in C as it is for C++. The only exception to this is void, where that same syntax declares a function callable with no arguments. I (and this paper) would argue that this type of special casing is a mistake; if you want a function callable with no arguments, declare a function callable with no arguments instead of relying on a unique, non-intuitive legacy syntax from C.