[dcl.init.ref] (original) (raw)

If T1 or T2 is a class type, user-defined conversions are considered using the rules for copy-initialization of an object of type “cv1 T1” by user-defined conversion ([dcl.init], [over.match.copy], [over.match.conv]); the program is ill-formed if the corresponding non-reference copy-initialization would be ill-formed.

The result of the call to the conversion function, as described for the non-reference copy-initialization, is then used to direct-initialize the reference.

For this direct-initialization, user-defined conversions are not considered.