[class.copy.assign]/7.4 CWG 1499: misses the unsuccessful overload resolution case #2179
Labels
cwg
Issue must be reviewed by CWG.
not-editorial
Issue is not deemed editorial; the editorial issue is kept open for tracking.
[class.copy.assign]/7 says:
For the code
(I assume) the intent is that the implicit copy assignment operator for
X
shall be deleted. But:M
's assignment operator is accessible and not deleted. "inaccessible" — is about access control, right?const M
implied object argument toM&
implicit object parameter ofM
's implicitly-declared copy assignment operator.And If the set of candidate functions is empty, overload resolution is unsuccessful.
unsuccessful ≠ ambiguous. There is no ambiguity when there is nothing to select from.
Should only this paragraph be fixed or the fix for [over.match] is also required to say explicitly that unsuccessful overload resolution means ill-formed program (or vice versa), I don't know.
The text was updated successfully, but these errors were encountered: