According to 12.2.2.7 [over.match.ref] paragraph 1, the determination of the candidate functions is based on whether 9.5.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.