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

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Dec 8 09:40:49 PST 2020

ldionne requested changes to this revision.
ldionne added a comment.
This revision now requires changes to proceed.

In D91292#2440252 <https://reviews.llvm.org/D91292#2440252>, @tcanens wrote:

> LWG doesn't do official DRs like ever,

I'm not sure I follow. Aren't all LWG issues considered DRs and "back applied" to earlier standards, hence what we do in the libraries wrt LWG issues?

> 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". We are trying to document things for programmers, not standard archaeologists or language lawyers.

I think it's misleading to call it a DR if it isn't one. I believe it would be more correct (and equally useful) to say that most implementations support it back in C++11, without using the word DR. It's a bit pedantic, but I think nothing is lost by being more precise.

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

@curdeius In that case, I believe we should support it unconditionally as well. At worst, it's a very very small extension in older standards. That'll also simplify the implementation and the tests a bit.

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list