Title
Rules for determining existence of implicit conversion sequence
Status
c++11
Section
12.2.3 [over.match.viable]
Submitter
US

Created on 2010-08-03.00:00:00 last changed 123 months ago

Messages

Date: 2010-11-15.00:00:00

[Voted into the WP at the November, 2010 meeting.]

Date: 2010-08-15.00:00:00

Proposed resolution (August, 2010):

Change 12.2.4.2.5 [over.ics.ref] paragraph 3 as follows:

Except for an implicit object parameter, for which see 12.2.2 [over.match.funcs], a standard conversion sequence cannot be formed if it requires binding an lvalue reference to non-const other than a reference to a non-volatile const type to an rvalue or binding an rvalue reference to an lvalue. [Note:...
Date: 2010-08-03.00:00:00
N3092 comment US 67

To determine whether there is an implicit conversion sequence that converts the argument to the corresponding parameter, 12.2.3 [over.match.viable] paragraph 3 uses 12.2.4.2 [over.best.ics] instead of just saying “there is an ICS if-and-only-if a copy initialization would be well-formed.” Apparently this is intended, but to a casual reader or an implementor reading these rules for the first time for a new implementation, it's not clear why that's desirable. A note should be added to explain the rationale.

History
Date User Action Args
2014-03-03 00:00:00adminsetstatus: fdis -> c++11
2011-04-10 00:00:00adminsetstatus: dr -> fdis
2010-11-29 00:00:00adminsetmessages: + msg3193
2010-11-29 00:00:00adminsetstatus: ready -> dr
2010-08-23 00:00:00adminsetmessages: + msg2801
2010-08-03 00:00:00admincreate