689. reference_wrapper constructor overly constrained

Section: 23.14.5.1 [refwrap.const] Status: CD1 Submitter: Peter Dimov Opened: 2007-05-10 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [refwrap.const].

View all issues with CD1 status.

Discussion:

The constructor of reference_wrapper is currently explicit. The primary motivation behind this is the safety problem with respect to rvalues, which is addressed by the proposed resolution of the previous issue. Therefore we should consider relaxing the requirements on the constructor since requests for the implicit conversion keep resurfacing.

Also please see the thread starting at c++std-lib-17398 for some good discussion on this subject.

Proposed resolution:

Remove the explicit from the constructor of reference_wrapper. If the proposed resolution of the previous issue is accepted, remove the explicit from the T&& constructor as well to keep them in sync.