https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89793
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- I haven't analysed whether it's valid yet, but it started to fail with r258755 PR c++/81311 - wrong C++17 overload resolution. * call.c (build_user_type_conversion_1): Remove C++17 code. (conv_binds_ref_to_prvalue): New. (build_over_call): Handle C++17 copy elision. (build_special_member_call): Only do C++17 copy elision here if the argument is already the right type.