https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106599
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Fedor Chelnokov from comment #0) > So we need to consider the constructors, and select A(const A&) : v(1) We do select that, but then for C++17 (and later) the copy is elided, which is permitted as far as I can see. With -std=c++14 the static assert passes.