You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From a could/might review, a suggestion by @zygoloid regarding [class.copy.assign]p8:
assignment operator with a parameter type that could/can be that of a
I don't like the old or new words here. I think we should rephrase this whole sentence.
I also wonder if this is actually a normative rule at all, or if this is a consequence of the rule in [class.copy.assign] talking about "explicitly declar[ing] a copy assignment operator". If it's a consequence, then it should be a note, and if not, then it shouldn't be phrased as "this happens because the declaration is not considered an explicit declaration of the operator" but instead as something like:
A using-declaration that brings in an assignment operator from a base class never suppresses the implicit declaration of an assignment operator of the derived class, even if the base class assignment operator, when considered as a member of the derived class, is a copy assignment operator or a move assignment operator ([class.copy.assign]).
I think this is repairable editorially, but not by a one-word change.
The text was updated successfully, but these errors were encountered:
Thanks! We still need to address this, though. The new note currently says:
A using-declaration that names an assignment operator with a parameter type that could be that of a copy/move assignment operator for a derived class does not suppress the implicit declaration of the derived class operator [namespace.udecl].
Can't we just say "whose parameter type is appropriate for a copy/move assignment operator"? A slightly broader change, based loosely on Richard's normative-option suggestion, would be
A using-declaration in a derived class C that names an assignment operator that would be a copy or move assignment operator if declared as a member of C does not suppress the implicit declaration of the operator in C ([namespace.udecl]).
From a could/might review, a suggestion by @zygoloid regarding [class.copy.assign]p8:
I don't like the old or new words here. I think we should rephrase this whole sentence.
I also wonder if this is actually a normative rule at all, or if this is a consequence of the rule in [class.copy.assign] talking about "explicitly declar[ing] a copy assignment operator". If it's a consequence, then it should be a note, and if not, then it shouldn't be phrased as "this happens because the declaration is not considered an explicit declaration of the operator" but instead as something like:
I think this is repairable editorially, but not by a one-word change.
The text was updated successfully, but these errors were encountered: