Section: 18.104.22.168.2 [util.smartptr.shared.const] Status: C++17 Submitter: United States Opened: 2017-02-03 Last modified: 2020-09-06 13:52:31 UTC
Priority: Not Prioritized
View all other issues in [util.smartptr.shared.const].
View all issues with C++17 status.
Addresses US 129
Paragraph 22: This constructor should not participate in overload resolution unless the requirements are satisfied, in order to give correct results from the is_constructible trait.
Add a Remarks: clause to constrain this constructor not to participate in overload resolution unless the Requires clause is satisfied.
[2017-02-23, Jonathan provides wording]
Accepted as Immediate to resolve NB comment.
This wording is relative to N4640.
Modify 22.214.171.124.2 [util.smartptr.shared.const] as indicated:
template<class Y> explicit shared_ptr(const weak_ptr<Y>& r);
[…] -25- Throws: […]
-22- Requires: Y* shall be compatible with T*.