microsoft/STL vs-2022-17.11
microsoft/STL
Captured source
source ↗published Aug 15, 2024seen 1dcaptured 9hhttp 200method plain
VS 2022 17.11
Repository: microsoft/STL
Tag: vs-2022-17.11
Published: 2024-08-15T11:47:14Z
Prerelease: no
Release notes:
- Merged C++26 features:
- P2875R4 #4532 Undeprecate
polymorphic_allocator::destroy - P3142R0 #4611 Printing Blank Lines With
println() - Merged *partial* C++23 features:
- P2286R8 Formatting Ranges:
+ Implemented formatter for pair and tuple. #4438 #4631 #4681 + Implemented range_formatter. #4642
- Merged LWG issue resolutions:
- LWG-3767 #4542
codecvtincorrectly added to locale - LWG-3919 #4526
enumerate_viewmay invoke UB for sized common non-forward underlying ranges - LWG-3950 #4510
std::basic_string_viewcomparison operators are overspecified - LWG-3984 #4543
ranges::to's recursion branch may be ill-formed - LWG-4012 #4529
common_view::begin/endare missing the *simple-view* check - LWG-4013 #4530
lazy_split_view::*outer-iterator*::value_typeshould not provide default constructor - LWG-4016 #4539 *
container-insertable* checks do not match what *container-inserter* does - LWG-4035 #4525
single_viewshould provideempty - LWG-4053 #4685 Unary call to
std::views::repeatdoes not decay the argument - LWG-4054 #4540 Repeating a
repeat_viewshould repeat the view - Fixed bugs:
- Fixed
condition_variable::wait_until()andcondition_variable_any::wait_until()to consistently use the giventime_point's clock type, instead of also depending on the system clock. This also fixedcondition_variable::wait_for()to consistently usesteady_clock. #4457 - Fixed `
to always perform compile-time format string checking forwchar_t`, even when the narrow execution character set doesn't support it. #4459 - Fixed compiler errors when
constexpr basic_stringinteracted with the undocumented compiler option/d1initall. #4474 - Fixed
atomic_reffor 16-byte objects to correctly reportis_lock_free()andis_always_lock_freeon x64 (when the optional mode_STD_ATOMIC_ALWAYS_USE_CMPXCHG16Bis defined to be1) and ARM64 (always). #4478 - Removed the vectorized implementation of
ranges::findwithunreachable_sentinelas it was fundamentally incompatible with ASan (Address Sanitizer). #4486
+ This was introduced by #2434 in VS 2022 17.3.
- Fixed incorrect results from the vectorized implementation of
ranges::find_lastfor certain combinations of value and element types. #4561
+ This fixed a regression that was introduced by #3925 in VS 2022 17.9.
- Fixed the STL to avoid emitting the off-by-default warning C4365 (signed/unsigned mismatch) when the `/ZI` compiler option (debug info for Edit and Continue) is used. #4487
+ These warnings were most noticeable when building the Standard Library Modules, but they were also emitted by classic includes.
- Fixed the STL to avoid emitting the off-by-default warning C5246 (brace elision). #4527
- Fixed compiler errors involving incomplete types in:
+ pair and tuple machinery. #4488
- Fixed
make_from_tuple()to properly implement LWG-3528 with a constraint instead of astatic_assert. #4528 - Added integral overloads for `
's classification functionsfpclassify(),isfinite(),isinf(),isnan(),isnormal(), andsignbit()`. #4537 - Fixed
is_trivialto correctly handle unusual types. #4576 - Avoided mentioning
__vectorcallfor ARM64EC, where it is not yet supported. #4600 - Fixed
std.ixxto include `in the Global Module Fragment, fixing compiler errors withimport std;` in certain scenarios. #4626 - Fixed compiler errors when a user-defined
formattercallsbasic_format_parse_context::next_arg_id()with an empty format-spec. #4640 - Fixed compiler errors when using `
in/permissive` mode. #4658
+ *Note:* While /permissive mode is discouraged, it's currently supported for most STL components.
Excerpt shown — open the source for the full document.