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
Issue description: As pointed out by Jan Tušil on Stack Overflow, the first bullet in paragraph 5, which (according to my understanding) specifies that a built-in assignment operator candidate is not viable if the implicit conversion sequence required for the left operand would create a temporary, appears to be unnecessary; the second bullet already bans user-defined conversions, and the left parameter (of some type "vqT&", where vq is either "volatile" or empty) will never bind to a temporary in any standard conversion sequence.
Suggested resolution: Edit [over.match.oper]/5:
For the first parameter of the built-in assignment operators, only standard conversion sequences ([over.ics.scs]) are considered.conversions of the left operand are restricted as follows:
no temporaries are introduced to hold the left operand, and
no user-defined conversions are applied to the left operand to achieve a type match with the left-most
parameter of a built-in candidate.