This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 114b. See for the official list.


1919. Overload resolution for ! with explicit conversion operator

Section:  [over.match.oper]     Status: open     Submitter: Johannes Schaub     Date: 2014-04-30

Although the intent is that the ! operator should be usable with an operand that is a class object having an explicit conversion to bool (i.e., its operand is “contextually converted to bool”), the selection of the conversion operator is done via [over.match.oper], 12.2.3 [over.match.viable], and 12.2.4 [], which do not make specific allowance for this special characteristic of the ! operator and thus will not select the explicit conversion function.

Notes from the June, 2014 meeting:

CWG noted that this same issue affects && and ||.