diff --git a/libcxx/include/string b/libcxx/include/string index 6ed4e7452213..46c749b63416 100644 --- a/libcxx/include/string +++ b/libcxx/include/string @@ -1509,6 +1509,7 @@ public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES _LIBCPP_INLINE_VISIBILITY basic_string& assign(basic_string&& str) + _NOEXCEPT_((__noexcept_move_assign_container<_Allocator, __alloc_traits>::value)) {*this = _VSTD::move(str); return *this;} #endif basic_string& assign(const basic_string& __str, size_type __pos, size_type __n=npos); diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp index d7ddb77b8e0f..99b53155d37e 100644 --- a/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp @@ -76,4 +76,10 @@ int main() S("12345678901234567890")); } #endif +#if __cplusplus > 201402L + { + typedef std::string S; + static_assert(noexcept(S().assign(S())), ""); // LWG#2063 + } +#endif } diff --git a/libcxx/www/cxx1y_status.html b/libcxx/www/cxx1y_status.html index 2b9c05ae1e2f..f28d67a7dd3e 100644 --- a/libcxx/www/cxx1y_status.html +++ b/libcxx/www/cxx1y_status.html @@ -109,165 +109,165 @@
Issue # | Issue Name | Meeting | Status |
---|---|---|---|
1214 | Insufficient/inconsistent key immutability requirements for associative containers | Kona | Complete |
2009 | Reporting out-of-bound values on numeric string conversions | Kona | Complete |
2010 | is_* traits for binding operations can't be meaningfully specialized | Kona | Complete |
2015 | Incorrect pre-conditions for some type traits | Kona | Complete |
2021 | Further incorrect usages of result_of | Kona | Complete |
2028 | messages_base::catalog overspecified | Kona | Complete |
2033 | Preconditions of reserve, shrink_to_fit, and resize functions | Kona | Complete |
2039 | Issues with std::reverse and std::copy_if | Kona | Complete |
2044 | No definition of "Stable" for copy algorithms | Kona | Complete |
2045 | forward_list::merge and forward_list::splice_after with unequal allocators | Kona | Complete |
2047 | Incorrect "mixed" move-assignment semantics of unique_ptr | Kona | Complete |
2050 | Unordered associative containers do not use allocator_traits to define member types | Kona | Complete |
2053 | Errors in regex bitmask types | Kona | Complete |
2061 | make_move_iterator and arrays | Kona | Complete |
2064 | More noexcept issues in basic_string | Kona | Complete |
2065 | Minimal allocator interface | Kona | Complete |
2067 | packaged_task should have deleted copy c'tor with const parameter | Kona | Complete |
2069 | Inconsistent exception spec for basic_string move constructor | Kona | Complete |
2096 | Incorrect constraints of future::get in regard to MoveAssignable | Kona | Complete |
2102 | Why is std::launch an implementation-defined type? | Kona | Complete |
1214 | Insufficient/inconsistent key immutability requirements for associative containers | Kona | Complete |
2009 | Reporting out-of-bound values on numeric string conversions | Kona | Complete |
2010 | is_* traits for binding operations can't be meaningfully specialized | Kona | Complete |
2015 | Incorrect pre-conditions for some type traits | Kona | Complete |
2021 | Further incorrect usages of result_of | Kona | Complete |
2028 | messages_base::catalog overspecified | Kona | Complete |
2033 | Preconditions of reserve, shrink_to_fit, and resize functions | Kona | Complete |
2039 | Issues with std::reverse and std::copy_if | Kona | Complete |
2044 | No definition of "Stable" for copy algorithms | Kona | Complete |
2045 | forward_list::merge and forward_list::splice_after with unequal allocators | Kona | Complete |
2047 | Incorrect "mixed" move-assignment semantics of unique_ptr | Kona | Complete |
2050 | Unordered associative containers do not use allocator_traits to define member types | Kona | Complete |
2053 | Errors in regex bitmask types | Kona | Complete |
2061 | make_move_iterator and arrays | Kona | Complete |
2064 | More noexcept issues in basic_string | Kona | Complete |
2065 | Minimal allocator interface | Kona | Complete |
2067 | packaged_task should have deleted copy c'tor with const parameter | Kona | Complete |
2069 | Inconsistent exception spec for basic_string move constructor | Kona | Complete |
2096 | Incorrect constraints of future::get in regard to MoveAssignable | Kona | Complete |
2102 | Why is std::launch an implementation-defined type? | Kona | Complete |
2071 | std::valarray move-assignment | Portland | Complete |
2074 | Off by one error in std::reverse_copy | Portland | Complete |
2081 | Allocator requirements should include CopyConstructible | Portland | Complete |
2083 | const-qualification on weak_ptr::owner_before | Portland | Complete |
2086 | Overly generic type support for math functions | Portland | Complete |
2099 | Unnecessary constraints of va_start() usage | Portland | Complete |
2103 | std::allocator_traits<std::allocator<T>>::propagate_on_container_move_assignment | Portland | Complete |
2105 | Inconsistent requirements on const_iterator's value_type | Portland | Complete |
2110 | remove can't swap but note says it might | Portland | Complete |
2123 | merge() allocator requirements for lists versus forward lists | Portland | Complete |
2005 | unordered_map::insert(T&&) protection should apply to map too | Portland | Complete |
2011 | Unexpected output required of strings | Portland | Complete |
2048 | Unnecessary mem_fn overloads | Portland | Complete |
2049 | is_destructible is underspecified | Portland | Complete |
2056 | future_errc enums start with value 0 (invalid value for broken_promise) | Portland | Complete |
2058 | valarray and begin/end | Portland | Complete |
2071 | std::valarray move-assignment | Portland | Complete |
2074 | Off by one error in std::reverse_copy | Portland | Complete |
2081 | Allocator requirements should include CopyConstructible | Portland | Complete |
2083 | const-qualification on weak_ptr::owner_before | Portland | Complete |
2086 | Overly generic type support for math functions | Portland | Complete |
2099 | Unnecessary constraints of va_start() usage | Portland | Complete |
2103 | std::allocator_traits<std::allocator<T>>::propagate_on_container_move_assignment | Portland | Complete |
2105 | Inconsistent requirements on const_iterator's value_type | Portland | Complete |
2110 | remove can't swap but note says it might | Portland | Complete |
2123 | merge() allocator requirements for lists versus forward lists | Portland | Complete |
2005 | unordered_map::insert(T&&) protection should apply to map too | Portland | Complete |
2011 | Unexpected output required of strings | Portland | Complete |
2048 | Unnecessary mem_fn overloads | Portland | Complete |
2049 | is_destructible is underspecified | Portland | Complete |
2056 | future_errc enums start with value 0 (invalid value for broken_promise) | Portland | Complete |
2058 | valarray and begin/end | Portland | Complete |
2091 | Misplaced effect in m.try_lock_for() | Bristol | Complete |
2092 | Vague Wording for condition_variable_any | Bristol | Complete |
2093 | Throws clause of condition_variable::wait with predicate | Bristol | Complete |
2094 | duration conversion overflow shouldn't participate in overload resolution | Bristol | Complete |
2122 | merge() stability for lists versus forward lists | Bristol | Complete |
2128 | Absence of global functions cbegin/cend | Bristol | Complete |
2145 | error_category default constructor | Bristol | Complete |
2147 | Unclear hint type in Allocator's allocate function | Bristol | Complete |
2148 | Hashing enums should be supported directly by std::hash | Bristol | Complete |
2149 | Concerns about 20.8/5 | Bristol | Complete |
2162 | allocator_traits::max_size missing noexcept | Bristol | Complete |
2163 | nth_element requires inconsistent post-conditions | Bristol | Complete |
2169 | Missing reset() requirements in unique_ptr specialization | Bristol | Complete |
2172 | Does atomic_compare_exchange_* accept v == nullptr arguments? | Bristol | Complete |
2080 | Specify when once_flag becomes invalid | Bristol | Complete |
2098 | promise throws clauses | Bristol | Complete |
2109 | Incorrect requirements for hash specializations | Bristol | Complete |
2130 | missing ordering constraints for fences | Bristol | Complete |
2138 | atomic_flag::clear ordering constraints | Bristol | Complete |
2140 | notify_all_at_thread_exit synchronization | Bristol | Complete |
2144 | Missing noexcept specification in type_index | Bristol | Complete |
2174 | wstring_convert::converted() should be noexcept | Bristol | Complete |
2175 | string_convert and wbuffer_convert validity | Bristol | Complete |
2176 | Special members for wstring_convert and wbuffer_convert | Bristol | Complete |
2177 | Requirements on Copy/MoveInsertable | Bristol | Complete |
2185 | Missing throws clause for future/shared_future::wait_for/wait_until | Bristol | Complete |
2187 | vector<bool> is missing emplace and emplace_back member functions | Bristol | Complete |
2190 | ordering of condition variable operations, reflects Posix discussion | Bristol | Complete |
2196 | Specification of is_*[copy/move]_[constructible/assignable] unclear for non-referencable types | Bristol | Complete |
2197 | Specification of is_[un]signed unclear for non-arithmetic types | Bristol | Complete |
2200 | Data race avoidance for all containers, not only for sequences | Bristol | Complete |
2203 | scoped_allocator_adaptor uses wrong argument types for piecewise construction | Bristol | Complete |
2207 | basic_string::at should not have a Requires clause | Bristol | Complete |
2209 | assign() overspecified for sequence containers | Bristol | Complete |
2210 | Missing allocator-extended constructor for allocator-aware containers | Bristol | Complete |
2211 | Replace ambiguous use of "Allocator" in container requirements | Bristol | Complete |
2222 | Inconsistency in description of forward_list::splice_after single-element overload | Bristol | Complete |
2225 | Unrealistic header inclusion checks required | Bristol | Complete |
2229 | Standard code conversion facets underspecified | Bristol | Complete |
2231 | DR 704 removes complexity guarantee for clear() | Bristol | Complete |
2235 | Undefined behavior without proper requirements on basic_string constructors | Bristol | Complete |
2091 | Misplaced effect in m.try_lock_for() | Bristol | Complete |
2092 | Vague Wording for condition_variable_any | Bristol | Complete |
2093 | Throws clause of condition_variable::wait with predicate | Bristol | Complete |
2094 | duration conversion overflow shouldn't participate in overload resolution | Bristol | Complete |
2122 | merge() stability for lists versus forward lists | Bristol | Complete |
2128 | Absence of global functions cbegin/cend | Bristol | Complete |
2145 | error_category default constructor | Bristol | Complete |
2147 | Unclear hint type in Allocator's allocate function | Bristol | Complete |
2148 | Hashing enums should be supported directly by std::hash | Bristol | Complete |
2149 | Concerns about 20.8/5 | Bristol | Complete |
2162 | allocator_traits::max_size missing noexcept | Bristol | Complete |
2163 | nth_element requires inconsistent post-conditions | Bristol | Complete |
2169 | Missing reset() requirements in unique_ptr specialization | Bristol | Complete |
2172 | Does atomic_compare_exchange_* accept v == nullptr arguments? | Bristol | Complete |
2080 | Specify when once_flag becomes invalid | Bristol | Complete |
2098 | promise throws clauses | Bristol | Complete |
2109 | Incorrect requirements for hash specializations | Bristol | Complete |
2130 | missing ordering constraints for fences | Bristol | Complete |
2138 | atomic_flag::clear ordering constraints | Bristol | Complete |
2140 | notify_all_at_thread_exit synchronization | Bristol | Complete |
2144 | Missing noexcept specification in type_index | Bristol | Complete |
2174 | wstring_convert::converted() should be noexcept | Bristol | Complete |
2175 | string_convert and wbuffer_convert validity | Bristol | Complete |
2176 | Special members for wstring_convert and wbuffer_convert | Bristol | Complete |
2177 | Requirements on Copy/MoveInsertable | Bristol | Complete |
2185 | Missing throws clause for future/shared_future::wait_for/wait_until | Bristol | Complete |
2187 | vector<bool> is missing emplace and emplace_back member functions | Bristol | Complete |
2190 | ordering of condition variable operations, reflects Posix discussion | Bristol | Complete |
2196 | Specification of is_*[copy/move]_[constructible/assignable] unclear for non-referencable types | Bristol | Complete |
2197 | Specification of is_[un]signed unclear for non-arithmetic types | Bristol | Complete |
2200 | Data race avoidance for all containers, not only for sequences | Bristol | Complete |
2203 | scoped_allocator_adaptor uses wrong argument types for piecewise construction | Bristol | Complete |
2207 | basic_string::at should not have a Requires clause | Bristol | Complete |
2209 | assign() overspecified for sequence containers | Bristol | Complete |
2210 | Missing allocator-extended constructor for allocator-aware containers | Bristol | Complete |
2211 | Replace ambiguous use of "Allocator" in container requirements | Bristol | Complete |
2222 | Inconsistency in description of forward_list::splice_after single-element overload | Bristol | Complete |
2225 | Unrealistic header inclusion checks required | Bristol | Complete |
2229 | Standard code conversion facets underspecified | Bristol | Complete |
2231 | DR 704 removes complexity guarantee for clear() | Bristol | Complete |
2235 | Undefined behavior without proper requirements on basic_string constructors | Bristol | Complete |
2141 | common_type trait produces reference types | Chicago | Complete |
2246 | unique_ptr assignment effects w.r.t. deleter | Chicago | Complete |
2247 | Type traits and std::nullptr_t | Chicago | Complete |
2085 | Wrong description of effect 1 of basic_istream::ignore | Chicago | Complete |
2087 | iostream_category() and noexcept | Chicago | Complete |
2143 | ios_base::xalloc should be thread-safe | Chicago | Complete |
2150 | Unclear specification of find_end | Chicago | Complete |
2180 | Exceptions from std::seed_seq operations | Chicago | Complete |
2194 | Impossible container requirements for adaptor types | Chicago | Complete |
2013 | Do library implementers have the freedom to add constexpr? | Chicago | Complete |
2018 | regex_traits::isctype Returns clause is wrong | Chicago | Complete |
2078 | Throw specification of async() incomplete | Chicago | Complete |
2097 | packaged_task constructors should be constrained | Chicago | Complete |
2100 | Timed waiting functions cannot timeout if launch::async policy used | Chicago | Complete |
2120 | What should async do if neither 'async' nor 'deferred' is set in policy? | Chicago | Complete |
2159 | atomic_flag initialization | Chicago | Complete |
2275 | Why is forward_as_tuple not constexpr? | Chicago | Complete |
2284 | Inconsistency in allocator_traits::max_size | Chicago | Complete |
2298 | is_nothrow_constructible is always false because of create<> | Chicago | Complete |
2300 | Redundant sections for map and multimap members should be removed | Chicago | Complete |
2141 | common_type trait produces reference types | Chicago | Complete |
2246 | unique_ptr assignment effects w.r.t. deleter | Chicago | Complete |
2247 | Type traits and std::nullptr_t | Chicago | Complete |
2085 | Wrong description of effect 1 of basic_istream::ignore | Chicago | Complete |
2087 | iostream_category() and noexcept | Chicago | Complete |
2143 | ios_base::xalloc should be thread-safe | Chicago | Complete |
2150 | Unclear specification of find_end | Chicago | Complete |
2180 | Exceptions from std::seed_seq operations | Chicago | Complete |
2194 | Impossible container requirements for adaptor types | Chicago | Complete |
2013 | Do library implementers have the freedom to add constexpr? | Chicago | Complete |
2018 | regex_traits::isctype Returns clause is wrong | Chicago | Complete |
2078 | Throw specification of async() incomplete | Chicago | Complete |
2097 | packaged_task constructors should be constrained | Chicago | Complete |
2100 | Timed waiting functions cannot timeout if launch::async policy used | Chicago | Complete |
2120 | What should async do if neither 'async' nor 'deferred' is set in policy? | Chicago | Complete |
2159 | atomic_flag initialization | Chicago | Complete |
2275 | Why is forward_as_tuple not constexpr? | Chicago | Complete |
2284 | Inconsistency in allocator_traits::max_size | Chicago | Complete |
2298 | is_nothrow_constructible is always false because of create<> | Chicago | Complete |
2300 | Redundant sections for map and multimap members should be removed | Chicago | Complete |
NB comment: GB9 | Remove gets from C++14 | Chicago | Complete |
2135 | Unclear requirement for exceptions thrown in condition_variable::wait() | Issaquah | Complete |
2291 | std::hash is vulnerable to collision DoS attack | Issaquah | Complete |
2142 | packaged_task::operator() synchronization too broad? | Issaquah | Complete |
2240 | Probable misuse of term "function scope" in [thread.condition] | Issaquah | Complete |
2252 | Strong guarantee on vector::push_back() still broken with C++11? | Issaquah | Complete |
2257 | Simplify container requirements with the new algorithms | Issaquah | Complete |
2268 | Setting a default argument in the declaration of a member function assign of std::basic_string | Issaquah | Complete |
2271 | regex_traits::lookup_classname specification unclear | Issaquah | Complete |
2272 | quoted should use char_traits::eq for character comparison | Issaquah | Complete |
2278 | User-defined literals for Standard Library types | Issaquah | Complete |
2280 | begin / end for arrays should be constexpr and noexcept | Issaquah | Complete |
2285 | make_reverse_iterator | Issaquah | Complete |
2135 | Unclear requirement for exceptions thrown in condition_variable::wait() | Issaquah | Complete |
2291 | std::hash is vulnerable to collision DoS attack | Issaquah | Complete |
2142 | packaged_task::operator() synchronization too broad? | Issaquah | Complete |
2240 | Probable misuse of term "function scope" in [thread.condition] | Issaquah | Complete |
2252 | Strong guarantee on vector::push_back() still broken with C++11? | Issaquah | Complete |
2257 | Simplify container requirements with the new algorithms | Issaquah | Complete |
2268 | Setting a default argument in the declaration of a member function assign of std::basic_string | Issaquah | Complete |
2271 | regex_traits::lookup_classname specification unclear | Issaquah | Complete |
2272 | quoted should use char_traits::eq for character comparison | Issaquah | Complete |
2278 | User-defined literals for Standard Library types | Issaquah | Complete |
2280 | begin / end for arrays should be constexpr and noexcept | Issaquah | Complete |
2285 | make_reverse_iterator | Issaquah | Complete |
2299 | Effects of inaccessible key_compare::is_transparent type are not clear | Issaquah | Complete |
2299 | Effects of inaccessible key_compare::is_transparent type are not clear | Issaquah | Complete |
1450 | Contradiction in regex_constants | Issaquah | Complete |
2003 | String exception inconsistency in erase. | Issaquah | Complete |
2112 | User-defined classes that cannot be derived from | Issaquah | Complete |
2132 | std::function ambiguity | Issaquah | Complete |
2182 | Container::[const_]reference types are misleadingly specified | Issaquah | Complete |
2188 | Reverse iterator does not fully support targets that overload operator& | Issaquah | Complete |
2193 | Default constructors for standard library containers are explicit | Issaquah | Complete |
2205 | Problematic postconditions of regex_match and regex_search | Issaquah | Complete |
2213 | Return value of std::regex_replace | Issaquah | Complete |
1450 | Contradiction in regex_constants | Issaquah | Complete |
2003 | String exception inconsistency in erase. | Issaquah | Complete |
2112 | User-defined classes that cannot be derived from | Issaquah | Complete |
2132 | std::function ambiguity | Issaquah | Complete |
2182 | Container::[const_]reference types are misleadingly specified | Issaquah | Complete |
2188 | Reverse iterator does not fully support targets that overload operator& | Issaquah | Complete |
2193 | Default constructors for standard library containers are explicit | Issaquah | Complete |
2205 | Problematic postconditions of regex_match and regex_search | Issaquah | Complete |
2213 | Return value of std::regex_replace | Issaquah | Complete |
2258 | a.erase(q1, q2) unable to directly return q2 | Issaquah | Complete |
2263 | Comparing iterators and allocator pointers with different const-character | Issaquah | Complete |
2293 | Wrong facet used by num_put::do_put | Issaquah | Complete |
2301 | Why is std::tie not constexpr? | Issaquah | Complete |
2304 | Complexity of count in unordered associative containers | Issaquah | Complete |
2306 | match_results::reference should be value_type&, not const value_type& | Issaquah | Complete |
2308 | Clarify container destructor requirements w.r.t. std::array | Issaquah | Complete |
2313 | tuple_size should always derive from integral_constant | Issaquah | Complete |
2314 | apply() should return decltype(auto) and use decay_t before tuple_size | Issaquah | Complete |
2315 | weak_ptr should be movable | Issaquah | Complete |
2316 | weak_ptr::lock() should be atomic | Issaquah | Complete |
2317 | The type property queries should be UnaryTypeTraits returning size_t | Issaquah | Complete |
2320 | select_on_container_copy_construction() takes allocators, not containers | Issaquah | Complete |
2322 | Associative(initializer_list, stuff) constructors are underspecified | Issaquah | Complete |
2323 | vector::resize(n, t)'s specification should be simplified | Issaquah | Complete |
2324 | Insert iterator constructors should use addressof() | Issaquah | Complete |
2329 | regex_match()/regex_search() with match_results should forbid temporary strings | Issaquah | Complete |
2330 | regex("meow", regex::icase) is technically forbidden but should be permitted | Issaquah | Complete |
2332 | regex_iterator/regex_token_iterator should forbid temporary regexes | Issaquah | Complete |
2339 | Wording issue in nth_element | Issaquah | Complete |
2341 | Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) | Issaquah | Complete |
2344 | quoted()'s interaction with padding is unclear | Issaquah | Complete |
2346 | integral_constant's member functions should be marked noexcept | Issaquah | Complete |
2350 | min, max, and minmax should be constexpr | Issaquah | Complete |
2356 | Stability of erasure in unordered associative containers | Issaquah | Complete |
2357 | Remaining "Assignable" requirement | Issaquah | Complete |
2359 | How does regex_constants::nosubs affect basic_regex::mark_count()? | Issaquah | Complete |
2360 | reverse_iterator::operator*() is unimplementable | Issaquah | Complete |
2104 | unique_lock move-assignment should not be noexcept | Issaquah | Complete |
2186 | Incomplete action on async/launch::deferred | Issaquah | Complete |
2075 | Progress guarantees, lock-free property, and scheduling assumptions | Issaquah | Complete |
2288 | Inconsistent requirements for shared mutexes | Issaquah | Complete |
2258 | a.erase(q1, q2) unable to directly return q2 | Issaquah | Complete |
2263 | Comparing iterators and allocator pointers with different const-character | Issaquah | Complete |
2293 | Wrong facet used by num_put::do_put | Issaquah | Complete |
2301 | Why is std::tie not constexpr? | Issaquah | Complete |
2304 | Complexity of count in unordered associative containers | Issaquah | Complete |
2306 | match_results::reference should be value_type&, not const value_type& | Issaquah | Complete |
2308 | Clarify container destructor requirements w.r.t. std::array | Issaquah | Complete |
2313 | tuple_size should always derive from integral_constant | Issaquah | Complete |
2314 | apply() should return decltype(auto) and use decay_t before tuple_size | Issaquah | Complete |
2315 | weak_ptr should be movable | Issaquah | Complete |
2316 | weak_ptr::lock() should be atomic | Issaquah | Complete |
2317 | The type property queries should be UnaryTypeTraits returning size_t | Issaquah | Complete |
2320 | select_on_container_copy_construction() takes allocators, not containers | Issaquah | Complete |
2322 | Associative(initializer_list, stuff) constructors are underspecified | Issaquah | Complete |
2323 | vector::resize(n, t)'s specification should be simplified | Issaquah | Complete |
2324 | Insert iterator constructors should use addressof() | Issaquah | Complete |
2329 | regex_match()/regex_search() with match_results should forbid temporary strings | Issaquah | Complete |
2330 | regex("meow", regex::icase) is technically forbidden but should be permitted | Issaquah | Complete |
2332 | regex_iterator/regex_token_iterator should forbid temporary regexes | Issaquah | Complete |
2339 | Wording issue in nth_element | Issaquah | Complete |
2341 | Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) | Issaquah | Complete |
2344 | quoted()'s interaction with padding is unclear | Issaquah | Complete |
2346 | integral_constant's member functions should be marked noexcept | Issaquah | Complete |
2350 | min, max, and minmax should be constexpr | Issaquah | Complete |
2356 | Stability of erasure in unordered associative containers | Issaquah | Complete |
2357 | Remaining "Assignable" requirement | Issaquah | Complete |
2359 | How does regex_constants::nosubs affect basic_regex::mark_count()? | Issaquah | Complete |
2360 | reverse_iterator::operator*() is unimplementable | Issaquah | Complete |
2104 | unique_lock move-assignment should not be noexcept | Issaquah | Complete |
2186 | Incomplete action on async/launch::deferred | Issaquah | Complete |
2075 | Progress guarantees, lock-free property, and scheduling assumptions | Issaquah | Complete |
2288 | Inconsistent requirements for shared mutexes | Issaquah | Complete |
Issue # | Issue Name | Meeting | Status |
---|---|---|---|
2016 | Allocators must be no-throw swappable | Urbana | |
2118 | unique_ptr for array does not support cv qualification conversion of actual argument | Urbana | Will be resolved by N4089 |
2170 | Aggregates cannot be DefaultConstructible | Urbana | Complete |
2308 | Clarify container destructor requirements w.r.t. std::array | Urbana | Complete |
2340 | Replacement allocation functions declared as inline | Urbana | Complete |
2354 | Unnecessary copying when inserting into maps with braced-init syntax | Urbana | |
2377 | std::align requirements overly strict | Urbana | Complete |
2396 | underlying_type doesn't say what to do for an incomplete enumeration type | Urbana | Complete |
2399 | shared_ptr 's constructor from unique_ptr should be constrained | Urbana | Complete |
2400 | shared_ptr 's get_deleter() should use addressof() | Urbana | Complete |
2401 | std::function needs more noexcept | Urbana | Complete |
2404 | mismatch() 's complexity needs to be updated | Urbana | Complete |
2408 | SFINAE-friendly common_type / iterator_traits is missing in C++14 | Urbana | common_type is waiting on LWG#2465 |
2016 | Allocators must be no-throw swappable | Urbana | |
2118 | unique_ptr for array does not support cv qualification conversion of actual argument | Urbana | Will be resolved by N4089 |
2170 | Aggregates cannot be DefaultConstructible | Urbana | Complete |
2308 | Clarify container destructor requirements w.r.t. std::array | Urbana | Complete |
2340 | Replacement allocation functions declared as inline | Urbana | Complete |
2354 | Unnecessary copying when inserting into maps with braced-init syntax | Urbana | |
2377 | std::align requirements overly strict | Urbana | Complete |
2396 | underlying_type doesn't say what to do for an incomplete enumeration type | Urbana | Complete |
2399 | shared_ptr 's constructor from unique_ptr should be constrained | Urbana | Complete |
2400 | shared_ptr 's get_deleter() should use addressof() | Urbana | Complete |
2401 | std::function needs more noexcept | Urbana | Complete |
2404 | mismatch() 's complexity needs to be updated | Urbana | Complete |
2408 | SFINAE-friendly common_type / iterator_traits is missing in C++14 | Urbana | common_type is waiting on LWG#2465 |
2106 | move_iterator wrapping iterators returning prvalues | Urbana | |
2129 | User specializations of std::initializer_list | Urbana | Complete |
2212 | tuple_size for const pair request | Urbana | Complete |
2217 | operator==(sub_match, string) slices on embedded '\0's | Urbana | Complete |
2230 | "see below" for initializer_list constructors of unordered containers | Urbana | Complete |
2233 | bad_function_call::what() unhelpful | Urbana | Complete |
2266 | vector and deque have incorrect insert requirements | Urbana | Complete |
2325 | minmax_element() 's behavior differing from max_element() 's should be noted | Urbana | Complete |
2361 | Apply 2299 resolution throughout library | Urbana | |
2365 | Missing noexcept in shared_ptr::shared_ptr(nullptr_t) | Urbana | Complete |
2376 | bad_weak_ptr::what() overspecified | Urbana | Complete |
2387 | More nested types that must be accessible and unambiguous | Urbana | Complete |
2106 | move_iterator wrapping iterators returning prvalues | Urbana | |
2129 | User specializations of std::initializer_list | Urbana | Complete |
2212 | tuple_size for const pair request | Urbana | Complete |
2217 | operator==(sub_match, string) slices on embedded '\0's | Urbana | Complete |
2230 | "see below" for initializer_list constructors of unordered containers | Urbana | Complete |
2233 | bad_function_call::what() unhelpful | Urbana | Complete |
2266 | vector and deque have incorrect insert requirements | Urbana | Complete |
2325 | minmax_element() 's behavior differing from max_element() 's should be noted | Urbana | Complete |
2361 | Apply 2299 resolution throughout library | Urbana | |
2365 | Missing noexcept in shared_ptr::shared_ptr(nullptr_t) | Urbana | Complete |
2376 | bad_weak_ptr::what() overspecified | Urbana | Complete |
2387 | More nested types that must be accessible and unambiguous | Urbana | Complete |
2059 | C++0x ambiguity problem with map::erase | Lenexa | Complete |
2063 | Contradictory requirements for string move assignment | Lenexa | |
2076 | Bad CopyConstructible requirement in set constructors | Lenexa | Complete |
2160 | Unintended destruction ordering-specification of resize | Lenexa | Complete |
2168 | Inconsistent specification of uniform_real_distribution constructor | Lenexa | Complete |
2239 | min/max/minmax requirements | Lenexa | Complete |
2364 | deque and vector pop_back don't specify iterator invalidation requirements | Lenexa | Complete |
2369 | constexpr max(initializer_list) vs max_element | Lenexa | Complete |
2378 | Behaviour of standard exception types | Lenexa | Complete |
2403 | stof() should call strtof() and wcstof() | Lenexa | Complete |
2406 | negative_binomial_distribution should reject p == 1 | Lenexa | Complete |
2407 | packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained nor explicit | Lenexa | Complete |
2411 | shared_ptr is only contextually convertible to bool | Lenexa | Complete |
2415 | Inconsistency between unique_ptr and shared_ptr | Lenexa | Complete |
2420 | function | Lenexa | Complete |
2425 | operator delete(void*, size_t) doesn't invalidate pointers sufficiently | Lenexa | Complete |
2427 | Container adaptors as sequence containers, redux | Lenexa | Complete |
2428 | "External declaration" used without being defined | Lenexa | Complete |
2433 | uninitialized_copy()/etc. should tolerate overloaded operator& | Lenexa | Complete |
2434 | shared_ptr::use_count() is efficient | Lenexa | Complete |
2437 | iterator_traits::reference can and can't be void | Lenexa | Complete |
2438 | std::iterator inheritance shouldn't be mandated | Lenexa | Complete |
2439 | unique_copy() sometimes can't fall back to reading its output | Lenexa | Complete |
2440 | seed_seq::size() should be noexcept | Lenexa | Complete |
2442 | call_once() shouldn't DECAY_COPY() | Lenexa | Complete |
2448 | Non-normative Container destructor specification | Lenexa | Complete |
2454 | Add raw_storage_iterator::base() member | Lenexa | Complete |
2455 | Allocator default construction should be allowed to throw | Lenexa | Complete |
2458 | N3778 and new library deallocation signatures | Lenexa | Complete |
2459 | std::polar should require a non-negative rho | Lenexa | Complete |
2464 | try_emplace and insert_or_assign misspecified | Lenexa | Complete |
2467 | is_always_equal has slightly inconsistent default | Lenexa | Complete |
2470 | Allocator's destroy function should be allowed to fail to instantiate | Lenexa | Complete |
2482 | [c.strings] Table 73 mentions nonexistent functions | Lenexa | Complete |
2488 | Placeholders should be allowed and encouraged to be constexpr | Lenexa | |
2059 | C++0x ambiguity problem with map::erase | Lenexa | Complete |
2063 | Contradictory requirements for string move assignment | Lenexa | Complete |
2076 | Bad CopyConstructible requirement in set constructors | Lenexa | Complete |
2160 | Unintended destruction ordering-specification of resize | Lenexa | Complete |
2168 | Inconsistent specification of uniform_real_distribution constructor | Lenexa | Complete |
2239 | min/max/minmax requirements | Lenexa | Complete |
2364 | deque and vector pop_back don't specify iterator invalidation requirements | Lenexa | Complete |
2369 | constexpr max(initializer_list) vs max_element | Lenexa | Complete |
2378 | Behaviour of standard exception types | Lenexa | Complete |
2403 | stof() should call strtof() and wcstof() | Lenexa | Complete |
2406 | negative_binomial_distribution should reject p == 1 | Lenexa | Complete |
2407 | packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained nor explicit | Lenexa | Complete |
2411 | shared_ptr is only contextually convertible to bool | Lenexa | Complete |
2415 | Inconsistency between unique_ptr and shared_ptr | Lenexa | Complete |
2420 | function | Lenexa | Complete |
2425 | operator delete(void*, size_t) doesn't invalidate pointers sufficiently | Lenexa | Complete |
2427 | Container adaptors as sequence containers, redux | Lenexa | Complete |
2428 | "External declaration" used without being defined | Lenexa | Complete |
2433 | uninitialized_copy()/etc. should tolerate overloaded operator& | Lenexa | Complete |
2434 | shared_ptr::use_count() is efficient | Lenexa | Complete |
2437 | iterator_traits::reference can and can't be void | Lenexa | Complete |
2438 | std::iterator inheritance shouldn't be mandated | Lenexa | Complete |
2439 | unique_copy() sometimes can't fall back to reading its output | Lenexa | Complete |
2440 | seed_seq::size() should be noexcept | Lenexa | Complete |
2442 | call_once() shouldn't DECAY_COPY() | Lenexa | Complete |
2448 | Non-normative Container destructor specification | Lenexa | Complete |
2454 | Add raw_storage_iterator::base() member | Lenexa | Complete |
2455 | Allocator default construction should be allowed to throw | Lenexa | Complete |
2458 | N3778 and new library deallocation signatures | Lenexa | Complete |
2459 | std::polar should require a non-negative rho | Lenexa | Complete |
2464 | try_emplace and insert_or_assign misspecified | Lenexa | Complete |
2467 | is_always_equal has slightly inconsistent default | Lenexa | Complete |
2470 | Allocator's destroy function should be allowed to fail to instantiate | Lenexa | Complete |
2482 | [c.strings] Table 73 mentions nonexistent functions | Lenexa | Complete |
2488 | Placeholders should be allowed and encouraged to be constexpr | Lenexa |
Last Updated: 27-May-2015
+Last Updated: 5-Oct-2015