https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85067
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> --- The below, very lightly tested so far, should work fine, adjusts DECL_DECLARED_CONSTEXPR_P as we used to do - before r253321 - a few lines below before returning. Jakub, I'm in the middle of a few other things, you may want to give it a try, in case we want it for 8.1.0 and we don't have a better fix: Index: method.c =================================================================== --- method.c (revision 258846) +++ method.c (working copy) @@ -2189,6 +2189,10 @@ defaulted_late_check (tree fn) "expected signature", fn); inform (DECL_SOURCE_LOCATION (fn), "expected signature: %qD", implicit_fn); + /* For error recovery sake (c++/85067). */ + if (DECL_DEFAULTED_IN_CLASS_P (fn) + && DECL_DECLARED_CONSTEXPR_P (implicit_fn)) + DECL_DECLARED_CONSTEXPR_P (fn) = true; return; }