[libcxx-commits] [libcxx] [libc++] LWG3223 Broken requirements for shared_ptr converting constructors (PR #93071)

Jonathan Wakely via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jun 10 07:36:03 PDT 2024


jwakely wrote:

N.B. I don't think this was caused by LWG 3233, the old wording said "this constructor shall not participate in overload resolution unless is_move_constructible_v<D> is true, the expression d(p) is well-formed" so the broken constraint was always present. It was even there in C++11, and violating it led to undefined behaviour (rather than being ill-formed). Libc++ just never enforced it until now.

https://github.com/llvm/llvm-project/pull/93071


More information about the libcxx-commits mailing list