[libcxx-commits] [PATCH] D91292: [libc++] [P0935] [C++20] Eradicating unnecessarily explicit default constructors from the standard library.

Tim Song via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Dec 8 09:15:58 PST 2020

tcanens added a comment.

In D91292#2440215 <https://reviews.llvm.org/D91292#2440215>, @ldionne wrote:

> In D91292#2427945 <https://reviews.llvm.org/D91292#2427945>, @curdeius wrote:
>> I removed the unnecessary check for > C++11 in make_implicit, but that doesn't change a lot as it's used anyway only in C++20.
>> Anyway, I've just seen that P0935 has been adopted as a DR applied retroactively to previous standards down to C++11. My only source tho is https://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/uniform_real_distribution.
>> Should I apply it to pre-C++20 then?
> It was adopted as a paper, and it does *not* appear to have been voted as a DR. I found on the Rapperswill (2018) wiki motion page:
>> Motion 25
>> Move to apply to the C++ working paper the proposed wording in P0935R0 (Eradicating unnecessarily explicit default constructors from the standard library).
> It doesn't appear to be applied as a DR, however the author himself was the one to change cppreference (looking at the history). @tcanens  Do you have more context?

LWG doesn't do official DRs like ever, so cppreference policy for the library is that we look at what implementations do (or make an educated guess/prediction about what they will do) to call things "DRs".

Both libstdc++ and MSVC implement P0935 unconditionally, so I suspect that I guessed correctly for this case.

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list