This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 112c. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
[Moved to DR at the April, 2013 meeting.]
According to 22.214.171.124 [over.match.ref] paragraph 1, the determination of the candidate functions is based on whether 9.4.4 [dcl.init.ref] requires an lvalue result or an rvalue result. It is not sufficiently clear exactly what this means, particularly with respect to function lvalues and rvalues.
Proposed resolution (August, 2011):
Change 126.96.36.199 [over.match.ref] paragraph 1 as follows:
The conversion functions of S and its base classes
are considered, except that for copy-initialization, only the
non-explicit conversion functions are considered. Those that are not
hidden within S and yield type “lvalue reference to
cv2 T2” (when
requires an lvalue result ) or “cv2
T2” or “rvalue reference to cv2
T2” (when 9.4.4 [dcl.init.ref] requires an
rvalue result ), where “cv1
T” is reference-compatible (9.4.4 [dcl.init.ref])
with “cv2 T2”, are candidate
Change 12.2.4 [over.match.best] paragraph 1 as follows:
the context is an initialization by user-defined conversion... or if not that,
F1 is a non-template function...