is_assignable
constraint in optional::op=(U&&)
Section: 5.3.3 [fund.ts::optional.object.assign] Status: Resolved Submitter: Howard Hinnant Opened: 2013-08-25 Last modified: 2015-10-26
Priority: Not Prioritized
View all other issues in [fund.ts::optional.object.assign].
View all issues with Resolved status.
Discussion:
Addresses: fund.ts
Minor wording nit in 5.3.3 [fund.ts::optional.object.assign]/p15:
template <class U> optional<T>& operator=(U&& v);-15- Requires:
is_constructible<T, U>::value
is true andis_assignable<U, T>::value
is true.
Should be:
template <class U> optional<T>& operator=(U&& v);-15- Requires:
is_constructible<T, U>::value
is true andis_assignable<T&, U>::value
is true.
[2013-09 Chicago:]
Move to Deferred. This feature will ship after C++14 and should be revisited then.
[2014-06-06 pre-Rapperswill]
This issue has been reopened as fundamentals-ts.
[2014-06-07 Daniel comments]
This issue should be set to Resolved, because the wording fix is already applied in the last fundamentals working draft.
[2014-06-16 Rapperswill]
Confirmed that this issue is resolved in the current Library Fundamentals working paper.
Proposed resolution:
This wording is relative to N3691.
Edit 5.3.3 [fund.ts::optional.object.assign] p15 as indicated:
template <class U> optional<T>& operator=(U&& v);-15- Requires:
is_constructible<T, U>::value
is true andis_assignable<
is true.U, TT&, U>::value