Hi Jason, Regarding the initialization example - no, the set of classes that we consider cold is more loosely defined. On Thu, Aug 10, 2023 at 11:01 PM Jason Merrill wrote: > Yes, but that's because the implicit op== isn't declared lazily like > some other special member functions (CLASSTYPE_LAZY_*/lazily_declare_fn) > which can happen after the class is complete. I see, thanks. I have fixed this now by injecting it directly from lazily_declare_fn, works well. Doing it from grokclassfn instead seems to be a nuisance because the explicit method attribute might be processed after the class-propagated attribute is injected, which is the wrong way around for the desired precedence. > I think it would work to check for (flags & (ATTR_FLAG_FUNCTION_NEXT | > ATTR_FLAG_DECL_NEXT)) and return without warning in that case. You'd > still set *no_add_attr. Correct, done. I have added the patch as an attachment, if it garbles it then I will use git-send-email next time. ---