https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92947
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- The problem here is the cp_unevaluated_operand check: 10147 if (DECL_CONSTRUCTOR_P (fn) 10148 && !(flags & LOOKUP_ONLYCONVERTING) 10149 && !cp_unevaluated_operand 10150 && cxx_dialect >= cxx2a 10151 && CP_AGGREGATE_TYPE_P (basetype) 10152 && !user_args->is_empty ()) 10153 { without which the test above passes. ISTR I added it because without it something broke. Whatever that was, it needs to be fixed differently.