[over.match.copy] (original) (raw)

When the type of the initializer expression is a class type “cv S”, conversion functions are considered.

The permissible types for non-explicit conversion functions areT and any class derived from T.

When initializing a temporary object ([class.mem]) to be bound to the first parameter of a constructor where the parameter is of type “reference to cv2 T” and the constructor is called with a single argument in the context of direct-initialization of an object of type “cv3 T”, the permissible types for explicit conversion functions are the same; otherwise there are none.