C++14/17 Features and STL Fixes in VS "15" Preview 5 - C++ Team Blog (original) (raw)
Status
Std
Title
missing
C++17
LWG 1169
num_get not fully compatible with strto*
missing
C++17
LWG 2059
C++0x ambiguity problem with map::erase
missing
C++17
LWG 2156
Unordered containers’ reserve(n) reserves for n-1 elements
missing
C++17
LWG 2408
SFINAE-friendly common_type / iterator_traits is missing in C++14
missing
C++17
LWG 2415
Inconsistency between unique_ptr and shared_ptr
missing
C++17
LWG 2422
std::numeric_limits::is_modulo description: “most machines” errata
missing
C++17
LWG 2436
Comparators for associative containers should always be CopyConstructible
missing
C++17
LWG 2724
The protected virtual member functions of memory_resource should be private
filesystem
C++17
LWG 2667
path::root_directory() description is confusing
filesystem
C++17
LWG 2669
recursive_directory_iterator effects refers to non-existent functions
filesystem
C++17
LWG 2670
system_complete refers to undefined variable ‘base’
filesystem
C++17
LWG 2671
Errors in Copy
filesystem
C++17
LWG 2673
status() effects cannot be implemented as specified
filesystem
C++17
LWG 2674
Bidirectional iterator requirement on path::iterator is very expensive
filesystem
C++17
LWG 2683
filesystem::copy() says “no effects”
filesystem
C++17
LWG 2704
recursive_directory_iterator’s members should require ‘*this is dereferenceable’
filesystem
C++17
LWG 2706
Error reporting for recursive_directory_iterator::pop() is under-specified
filesystem
C++17
LWG 2707
path construction and assignment should have “string_type&&” overloads
filesystem
C++17
LWG 2711
path is convertible from approximately everything under the sun
filesystem
C++17
LWG 2720
permissions function incorrectly specified for symlinks
filesystem
C++17
LWG 2721
remove_all has incorrect post conditions
filesystem
C++17
LWG 2723
Do directory_iterator and recursive_directory_iterator become the end iterator upon error?
filesystem
C++17
LWG 2725
filesystem::exists(const path&, error_code&) error reporting
filesystem
C++17
LWG 2726
[recursive_]directory_iterator::increment(error_code&) is underspecified
filesystem
C++17
LWG 2728
status(p).permissions() and symlink_status(p).permissions() are not specified
parallel
C++17
LWG 2687
{inclusive,exclusive}_scan misspecified
parallel
C++17
LWG 2689
Parallel versions of std::copy and std::move shouldn’t be in order
parallel
C++17
LWG 2727
Parallel algorithms with constexpr specifier
WCFB02
C++14
LWG 2140
notify_all_at_thread_exit synchronization
WCFB02
C++17
LWG 2309
mutex::lock() should not throw device_or_resource_busy
RTM
New
LWG 2769
Redundant const in the return type of any_cast(const any&)
RC
C++14
LWG 2252
Strong guarantee on vector::push_back() still broken with C++11?
RC
New
LWG 2509
[fund.ts.v2] any_cast doesn’t work with rvalue reference targets and cannot move with a value target
RC
New
LWG 2744
any’s in_place constructors
RC
New
LWG 2746
Inconsistency between requirements for emplace between optional and variant
RC
New
LWG 2754
The in_place constructors and emplace functions added by P0032R3 don’t require CopyConstructible
Preview 5
C++14
LWG 2350
min, max, and minmax should be constexpr
Preview 5
C++17
LWG 2192
Validity and return type of std::abs(0u) is unclear
Preview 5
C++17
LWG 2276
Missing requirement on std::promise::set_exception
Preview 5
C++17
LWG 2328
Rvalue stream extraction should use perfect forwarding
Preview 5
C++17
LWG 2369
constexpr max(initializer_list) vs max_element
Preview 5
C++17
LWG 2485
get() should be overloaded for const tuple&&
Preview 5
C++17
LWG 2520
N4089 broke initializing unique_ptr<T[]> from a nullptr
Preview 5
C++17
LWG 2719
permissions function should not be noexcept due to narrow contract
Preview 5
New
LWG 2713
More missing allocator-extended constructors for unordered containers
Preview 5
New
LWG 2756
C++ WP optional should ‘forward’ T’s implicit conversions
Preview 4
C++14
LWG 2135
Unclear requirement for exceptions thrown in condition_variable::wait()
Preview 4
C++14
LWG 2203
scoped_allocator_adaptor uses wrong argument types for piecewise construction
Preview 4
C++14
LWG 2210
Missing allocator-extended constructor for allocator-aware containers
Preview 4
C++17
LWG 2063
Contradictory requirements for string move assignment
Preview 4
C++17
LWG 2219
INVOKE-ing a pointer to member with a reference_wrapper as the object expression
Preview 4
C++17
LWG 2439
unique_copy() sometimes can’t fall back to reading its output
Preview 4
C++17
LWG 2476
scoped_allocator_adaptor is not assignable
Preview 4
C++17
LWG 2566
Requirements on the first template parameter of container adaptors
Preview 4
C++17
LWG 2576
istream_iterator and ostream_iterator should use std::addressof
Preview 4
C++17
LWG 2577
{shared,unique}_lock should use std::addressof
Preview 4
C++17
LWG 2579
Inconsistency wrt Allocators in basic_string assignment vs. basic_string::assign
Preview 4
C++17
LWG 2583
There is no way to supply an allocator for basic_string(str, pos)
Preview 4
C++17
LWG 2586
Wrong value category used in scoped_allocator_adaptor::construct()
Preview 4
C++17
LWG 2684
priority_queue lacking comparator typedef
Preview 4
C++17
LWG 2716
Specification of shuffle and sample disallows lvalue URNGs
Update 3
C++14
LWG 2064
More noexcept issues in basic_string
Update 3
C++17
LWG 2296
std::addressof should be constexpr
Update 3
C++17
LWG 2596
vector::data() should use addressof
Update 3
C++17
LWG 2688
clamp misses preconditions and has extraneous condition on result
Update 2
C++14
LWG 2005
unordered_map::insert(T&&) protection should apply to map too
Update 2
C++14
LWG 2021
Further incorrect usages of result_of
Update 2
C++14
LWG 2132
std::function ambiguity
Update 2
C++14
LWG 2196
Specification of is_*[copy/move]_[constructible/assignable] unclear for non-referencable types
Update 2
C++17
LWG 2101
Some transformation types can produce impossible types
Update 2
C++17
LWG 2106
move_iterator wrapping iterators returning prvalues
Update 2
C++17
LWG 2127
Move-construction with raw_storage_iterator
Update 2
C++17
LWG 2217
operator==(sub_match, string) slices on embedded ‘\0’s
Update 2
C++17
LWG 2312
tuple’s constructor constraints need to be phrased more precisely
Update 2
C++17
LWG 2353
std::next is over-constrained
Update 2
C++17
LWG 2354
Unnecessary copying when inserting into maps with braced-init syntax
Update 2
C++17
LWG 2367
pair and tuple are not correctly implemented for is_constructible with no args
Up2 opt-in
C++17
LWG 2385
function::assign allocator argument doesn’t make sense
Update 2
C++17
LWG 2393
std::function’s Callable definition is broken
Update 2
C++17
LWG 2455
Allocator default construction should be allowed to throw
Update 2
C++17
LWG 2466
allocator_traits::max_size() default behavior is incorrect
Update 2
C++17
LWG 2469
Wrong specification of Requires clause of operator[] for map and unordered_map
Update 2
C++17
LWG 2549
Tuple EXPLICIT constructor templates […] will create dangling references
VS 2015
C++14
GB 9
Remove gets from C++14
VS 2015
C++14
LWG 2009
Reporting out-of-bound values on numeric string conversions
VS 2015
C++14
LWG 2078
Throw specification of async() incomplete
VS 2015
C++14
LWG 2094
duration conversion overflow shouldn’t participate in overload resolution
VS 2015
C++14
LWG 2097
packaged_task constructors should be constrained
VS 2015
C++14
LWG 2103
std::allocator_traits<std::allocator>::propagate_on_container_move_assignment
VS 2015
C++14
LWG 2104
unique_lock move-assignment should not be noexcept
VS 2015
C++14
LWG 2112
User-defined classes that cannot be derived from
VS 2015
C++14
LWG 2144
Missing noexcept specification in type_index
VS 2015
C++14
LWG 2145
error_category default constructor
VS 2015
C++14
LWG 2162
allocator_traits::max_size missing noexcept
VS 2015
C++14
LWG 2174
wstring_convert::converted() should be noexcept
VS 2015
C++14
LWG 2176
Special members for wstring_convert and wbuffer_convert
VS 2015
C++14
LWG 2187
vector is missing emplace and emplace_back member functions
VS 2015
C++14
LWG 2193
Default constructors for standard library containers are explicit
VS 2015
C++14
LWG 2247
Type traits and std::nullptr_t
VS 2015
C++14
LWG 2268
Setting a default argument in the declaration of a member function assign of std::basic_string
VS 2015
C++14
LWG 2272
quoted should use char_traits::eq for character comparison
VS 2015
C++14
LWG 2275
Why is forward_as_tuple not constexpr?
VS 2015
C++14
LWG 2278
User-defined literals for Standard Library types
VS 2015
C++14
LWG 2280
begin / end for arrays should be constexpr and noexcept
VS 2015
C++14
LWG 2285
make_reverse_iterator
VS 2015
C++14
LWG 2301
Why is std::tie not constexpr?
VS 2015
C++14
LWG 2306
match_results::reference should be value_type&, not const value_type&
VS 2015
C++14
LWG 2315
weak_ptr should be movable
VS 2015
C++14
LWG 2324
Insert iterator constructors should use addressof()
VS 2015
C++14
LWG 2329
regex_match()/regex_search() with match_results should forbid temporary strings
VS 2015
C++14
LWG 2332
regex_iterator/regex_token_iterator should forbid temporary regexes
VS 2015
C++14
LWG 2339
Wording issue in nth_element
VS 2015
C++14
LWG 2344
quoted()’s interaction with padding is unclear
VS 2015
C++14
LWG 2346
integral_constant’s member functions should be marked noexcept
VS 2015
C++17
LWG 2129
User specializations of std::initializer_list
VS 2015
C++17
LWG 2133
Attitude to overloaded comma for iterators
VS 2015
C++17
LWG 2212
tuple_size for const pair request header
VS 2015
C++17
LWG 2234
assert() should allow usage in constant expressions
VS 2015
C++17
LWG 2365
Missing noexcept in shared_ptr::shared_ptr(nullptr_t)
VS 2015
C++17
LWG 2399
shared_ptr’s constructor from unique_ptr should be constrained
VS 2015
C++17
LWG 2400
shared_ptr’s get_deleter() should use addressof()
VS 2015
C++17
LWG 2401
std::function needs more noexcept
VS 2015
C++17
LWG 2403
stof() should call strtof() and wcstof()
VS 2015
C++17
LWG 2407
packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained nor explicit
VS 2015
C++17
LWG 2420
function<void(ArgTypes…)> does not discard the return value of the target object
VS 2015
C++17
LWG 2426
Issue about compare_exchange
VS 2015
C++17
LWG 2433
uninitialized_copy()/etc. should tolerate overloaded operator&
VS 2015
C++17
LWG 2440
seed_seq::size() should be noexcept
VS 2015
C++17
LWG 2442
call_once() shouldn’t DECAY_COPY()
VS 2015
C++17
LWG 2454
Add raw_storage_iterator::base() member
VS 2015
C++17
LWG 2458
N3778 and new library deallocation signatures
VS 2015
C++17
LWG 2464
try_emplace and insert_or_assign misspecified
VS 2015
C++17
LWG 2467
is_always_equal has slightly inconsistent default
VS 2015
C++17
LWG 2483
throw_with_nested() should use is_final
VS 2015
C++17
LWG 2484
rethrow_if_nested() is doubly unimplementable
VS 2015
C++17
LWG 2486
mem_fn() should be required to use perfect forwarding
VS 2015
C++17
LWG 2487
bind() should be const-overloaded, not cv-overloaded
VS 2015
C++17
LWG 2488
Placeholders should be allowed and encouraged to be constexpr
VS 2015
C++17
LWG 2489
mem_fn() should be noexcept
VS 2013
C++14
LWG 1214
Insufficient/inconsistent key immutability requirements for associative containers
VS 2013
C++14
LWG 2011
Unexpected output required of strings
VS 2013
C++14
LWG 2018
regex_traits::isctype Returns clause is wrong
VS 2013
C++14
LWG 2033
Preconditions of reserve, shrink_to_fit, and resize functions
VS 2013
C++14
LWG 2039
Issues with std::reverse and std::copy_if
VS 2013
C++14
LWG 2047
Incorrect “mixed” move-assignment semantics of unique_ptr
VS 2013
C++14
LWG 2049
is_destructible is underspecified
VS 2013
C++14
LWG 2050
Unordered associative containers do not use allocator_traits to define member types
VS 2013
C++14
LWG 2056
future_errc enums start with value 0 (invalid value for broken_promise)
VS 2013
C++14
LWG 2061
make_move_iterator and arrays
VS 2013
C++14
LWG 2067
packaged_task should have deleted copy c’tor with const parameter
VS 2013
C++14
LWG 2074
Off by one error in std::reverse_copy
VS 2013
C++14
LWG 2083
const-qualification on weak_ptr::owner_before
VS 2013
C++14
LWG 2087
iostream_category() and noexcept
VS 2013
C++14
LWG 2096
Incorrect constraints of future::get in regard to MoveAssignable
VS 2013
C++14
LWG 2128
Absence of global functions cbegin/cend
VS 2013
C++14
LWG 2138
atomic_flag::clear ordering constraints
VS 2013
C++14
LWG 2141
common_type trait produces reference types
VS 2013
C++14
LWG 2143
ios_base::xalloc should be thread-safe
VS 2013
C++14
LWG 2148
Hashing enums should be supported directly by std::hash
VS 2013
C++14
LWG 2188
Reverse iterator does not fully support targets that overload operator&
VS 2013
C++14
LWG 2197
Specification of is_[un]signed unclear for non-arithmetic types
VS 2013
C++14
LWG 2213
Return value of std::regex_replace
VS 2013
C++14
LWG 2229
Standard code conversion facets underspecified
VS 2013
C++14
LWG 2284
Inconsistency in allocator_traits::max_size
VS 2013
C++14
LWG 2293
Wrong facet used by num_put::do_put
VS 2013
C++14
LWG 2313
tuple_size should always derive from integral_constant
VS 2013
C++14
LWG 2317
The type property queries should be UnaryTypeTraits returning size_t
VS 2013
C++14
LWG 2330
regex(“meow”, regex::icase) is technically forbidden but should be permitted
VS 2013
C++14
LWG 2341
Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir)
VS 2013
C++14
LWG 2359
How does regex_constants::nosubs affect basic_regex::mark_count()?
VS 2013
C++14
LWG 2360
reverse_iterator::operator*() is unimplementable
VS 2013
C++17
LWG 2244
Issue on basic_istream::seekg
VS 2013
C++17
LWG 2273
regex_match ambiguity
VS 2013
C++17
LWG 2441
Exact-width atomic typedefs should be provided
VS 2013
C++17
LWG 2473
basic_filebuf’s relation to C FILE semantics
VS 2013
C++17
LWG 2537
Constructors for priority_queue taking allocators should call make_heap
VS 2013
C++17
LWG 2560
is_constructible underspecified when applied to a function type