Section: 20 [library] Status: Resolved Submitter: BSI Opened: 2010-08-25 Last modified: 2016-02-10
Priority: Not Prioritized
View all other issues in [library].
View all issues with Resolved status.
All library types should have non-throwing move constructors and move-assignment operators unless wrapping a type with a potentially throwing move operation. When such a type is a class-template, these operations should have a conditional noexcept specification.
There are many other places where a noexcept specification may be considered, but the move operations are a special case that must be called out, to effectively support the move_if_noexcept function template.
[ Resolution proposed by ballot comment: ]
Review every class and class template in the library. If noexcept move constructor/assignment operators can be implicitly declared, then they should be implicitly declared, or explicitly defaulted. Otherwise, a move constructor/move assignment operator with a noexcept exception specification should be provided.
[ 2010-10-31 Daniel comments: ]
The proposed resolution of n3157 would satisfy this request.
[2011-03-24 Madrid meeting]
Resolved by papers to be listed later