Implemented C++23 features:
- P1899R3: "
stride_view" (#2981) - P2446R2: "
views::as_rvalue" (#3008) - P2278R4: "
cbeginshould always return a constant iterator" (#3043, #3187, #3234) - P2322R6: "
ranges::fold" (#3099) - P2165R4: "Compatibility between
tuple,pairand tuple-like objects" (#3323, #3372) - P2404R3: "Move-only types for
equality_comparable_with,totally_ordered_with, andthree_way_comparable_with" (#3345) - P2164R9: "
views::enumerate" (#3472) - P2609R3: "Relaxing Ranges Just A Smidge" (#3486)
- P2321R2: "
zip" (partial: #3508, #3546) - P0009R18: "MDSPAN" (#3534, #3535, #3560, #3564, #3580, #3586, #3593, #3603, #3615, #3616, #3632, #3672, #3673, #3674, #3682, #3688, #3689, #3690, #3693, #3694, #3698, #3701, #3702, #3715, #3749, #3767, #3786, #3821, #3825, #3829, #3847, #3852, #4559)
- P2736R2: "Referencing The Unicode Standard" (#3556)
- P2374R4: "
views::cartesian_product" (#3561) - P2693R1: "Formatting
thread::id,stacktrace_entry, andbasic_stacktrace" (#3861) - P2836R1: "
basic_const_iteratorShould Follow Its Underlying Type's Convertibility" (#4188) - P2286R8: "Formatting Ranges" (#3913, #4642)
- P2502R2: "std::generator: Synchronous Coroutine Generator for Ranges" (partial: #4534, #4558, #4574, #4619, #4620, #4621)
Implemented C++26 features:
Implemented LWG issues:
- LWG-3707: "
chunk_view::outer-iterator::value_type::sizeshould return unsigned type" (#2883) - LWG-3515: "[stacktrace.basic.nonmem]:
operator<<should be less templatized" (#3236) - LWG-3810: "CTAD for
basic_format_args" (#3421) - LWG-3848: "
slide_viewmissingbaseaccessor" (#3410) - LWG-3850: "
views::as_constonempty_view<T>should returnempty_view<const T>" (#3423) - LWG-3851: "
chunk_view::inner-iteratormissing customiter_moveanditer_swap" (#3517) - LWG-3853: "
basic_const_iterator<volatile int*>::operator->is ill-formed" (#3468) - LWG-3862: "
basic_const_iterator'scommon_typespecialization is underconstrained" (#3471) - LWG-3872: "
basic_const_iteratorshould have customiter_move" (#3470) - LWG-3875: "
std::ranges::repeat_view<T, IntegerClass>::iteratormay be ill-formed" (#3485) - LWG-3880: "Clarify
operator+=complexity for{chunk,stride}_view::iterator" (#3554)
Fixed bugs:
- #3113: "
<algorithm>:ranges::is_permutation's helper lambda does not specify return type" - #3380: "
<system_error>: Use uglified[[clang::require_constant_initialization]]attribute" - #3493: "
<ranges>: Fix misused list-initializations" - #3551: "
<ranges>: Fixranges::equalfor ranges with integer-classrange_difference_t" - #3678: "Improve
_(Add|Multiply)_with_overflow_check" - #3733: "
<ranges>: Fixcartesian_product_view::sizein debug mode"
Reported bugs:
- #2312: "
<ranges>: usingviews::reverseonranges::reverse_viewlvalue is broken" - #3009: "
<iterator>:move_sentinelshould be unwrappable" - #3010: "Range algorithms don't work when used with unwrappable iterators and custom sentinels"
- #3392: "
<ranges>:views::repeat(...) | views::take(...)is not always a valid range" (fixed by #3485) - #3550: "
<ranges>:ranges::equaldoes not work for ranges with integer-classrange_difference_t" (fixed by #3551) - #3644: "
<chrono>: Some (weird) durations still cannot be formatted" - #3648: "
<chrono>:ambiguous_local_time's message is slightly incorrect" - StephanTLavavej/STL#18: "
<variant>: Constructor inheritance causes ICE when class in named module inherits from class imported frommodule std" - StephanTLavavej/STL#23: "
<ranges>: Usage ofranges::iterator_tcauses ICE"
Other improvements:
- #2696: "Update
_MSVC_STL_UPDATE(may 2022)" - #3089: "Cleanup
views::as_rvaluetests" - #3117: "Constexprize
bind_frontandbind_backtests" - #3350: "Improve
views::elementstests" - #3390: "Improve
views::drop(_while)andviews::take(_while)tests" - #3391: "
<ranges>: Add missing test coverage forranges::view_interface::c(begin|end)" - #3553: "
<ranges>: Testc(begin|end)members of range factories" - #3610: "Testing: Check new C++23 CPOs"
- #3753: "Make
P2415R2_owning_view/test.cpptest something" - #3839: "
<ranges>: Improve implementation of recommended practices inviews::cartesian_product" - #3919: "Modernize
validate.cpp: Use<print>instead of<cstdio>" - #3920: "Testing: check c(begin|end) members of some C++23 ranges"
Reported bugs:
- DevCom-10078204: "[C++20] (Exporting-)Importing module partition with class that inherits constructor from class imported from standard header unit causes ICE"
- DevCom-10187107: "const_cast cannot be used in constexpr context"
- DevCom-10269323: "[C++] Post-increment operator cannot refer to
thispointer innoexceptspecifier" - DecCom-10302378: "[C++][Concepts][Regression] Expanding parameter pack in
std::invoke_result_tmay cause ICE" - DevCom-10359857: "[C++][Modules] std::mdspan is unusable with C++20 modules"
- DevCom-10360833: "[C++][Concepts] CTAD does not work with constrained constructors when
requiresexpression contains nested alias" - DevCom-10398426: "
/analyze:only: bogus "warning C6287: Redundant code" when expanding integer pack that contains identical values" - DevCom-10404496: "[C++][Modules] Using
std::views::iotain member function in module causes ICE" - DevCom-10404498: "[C++][Modules] Using
std::views::repeatin member functions gives bogus error about lack ofcompareheader"
Implemented C++23 features:
- P2443R1: "[libc++][ranges] Implement P2443R1:
views::chunk_by" (Phabricator D144767) - P2770R0: "[libc++] P2770R0: "Stashing stashing iterators for proper flattening" (#66033)
- P2441R2: "[libc++] Implement
views::join_with" (In progress: #65536) - P2602R2: "[libc++] P2602R2 Poison Pills are Too Toxic" (#74534)
- P2387R3: "[libc++] Implement
bind_back" (#81055) - P2714R1: "[libc++] Implement
not_fn<NTTP>" (In progress: #86133)
Reported bugs:
- #58315: "[libc++][format] Strings are incorrectly aligned when alignment is not specified"
- #59763: "[libc++][format] String literals inside of
tupleandpairshould be escaped" - #60123: "[libc++][format] Negation of
LLONG_MIN(UB) when formattingchrono::duration" - #60164: "[libc++][format] Some contiguous ranges cannot be formatted due to lack of
dataorsizemember functions" - #60658: "[libc++][ranges]
views::dropuses non-reserved identifiersdistandclamped" - #60986: "[libc++][ranges] Feature test macro for
views::as_rvalueis missing" - #61314: "[libc++][format] Should
formatter<vec-bool-ref>be default constructible without<format>include?" - #62073: "[libc++][format] Should
operator<<(thread::id)care about fmtflags in C++23?" - #62074: "[libc++][format][chrono] Problems with
chrono-specswith short lifetime" - #90196: "[libc++][format] Formatting range with
mrange-type is incorrect"
Implemented features:
__builtin_FUNCSIG: "[Clang][clang-cl] Implement__builtin_FUNCSIG" (Phabricator D150183)
Reported bugs: