-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
(Previous meta-issue: #2872)
At the November 2022 meeting, the following LWG issues were resolved in the C++ Working Paper.
❔ Not yet analyzed
- Remaining issues:
❌ Not applicable
If an issue requires no action from implementers, we mark it as N/A. Categories:
- Pure wording clarifications with nothing to implement (these can be changes to non-normative text like examples and informative notes, or wording cleanups to normative text that don't impact observable behavior)
- LWG-3600 Making
istream_iteratorcopy constructor trivial is an ABI break - LWG-3753 Clarify entity vs. freestanding entity
- LWG-3781 The exposition-only alias templates
cont-key-typeandcont-mapped-typeshould be removed - LWG-3818 Exposition-only concepts are not described in library intro
- LWG-3822 Avoiding normalization in
filesystem::weakly_canonical - LWG-3824 Number of
bindplaceholders is underspecified
- LWG-3600 Making
- Something that increases the restrictions placed on users, but implementers aren't expected to enforce those restrictions
- Fixes for obviously broken wording, where implementers would have done the right thing anyways
- LWG-3028 Container requirements tables should distinguish
constand non-constvariables - LWG-3177 Limit permission to specialize variable templates to program-defined types
- LWG-3597 Unsigned integer types don't model
advanceable - LWG-3732
prepend_rangeandappend_rangecan't be amortized constant time - LWG-3738 Missing preconditions for
take_viewconstructor - LWG-3775 Broken dependencies in the Cpp17Allocator requirements
- LWG-3817 Missing preconditions on
forward_listmodifiers
- LWG-3028 Container requirements tables should distinguish
😸 Already implemented
Sometimes we cite LWG issues in product code comments as we're implementing their proposed resolutions. When the resolutions are officially accepted, we should remove the citations (as the default assumption is that we're implementing what the Standard says). If something is especially subtle, we can convert the citation to mention the relevant Standard section. Sometimes we should add test coverage - e.g. when the Standard begins requiring something that we were already doing, but weren't explicitly testing for.
- Already implemented, comments need to be removed and messages need to cite the Standard
- Done by Update comments for approved LWG issues #3238:
- LWG-3569
join_viewfails to support ranges of ranges with non-default_initializableiterators - LWG-3745
std::atomic_waitand its friends lacknoexcept - LWG-3764
reference_wrapper::operator()should propagatenoexcept - LWG-3766
view_interface::cbeginis underconstrained - LWG-3788
jthread::operator=(jthread&&)postconditions are unimplementable under self-assignment
- LWG-3569
- Done by Update comments for approved LWG issues #3238:
- Implemented without comments
- LWG-3118
fposequality comparison unspecified - LWG-3636
formatter<T>::formatshould beconst-qualified - LWG-3747
ranges::uninitialized_copy_n,ranges::uninitialized_move_n, andranges::destroy_nshould usestd::move - LWG-3754 Class template
expectedsynopsis contains declarations that do not match the detailed description - LWG-3755
tuple-for-eachcan call user-definedoperator, - LWG-3757 What's the effect of
std::forward_like<void>(x)? - LWG-3759
ranges::rotate_copyshould usestd::move - LWG-3765
const_sentinelshould be constrained - LWG-3770
const_sentinel_tis missing - LWG-3782 Should
<math.h>declare::lerp? - LWG-3784
std.compatshould not provide::byteand its friends - LWG-3792
__cpp_lib_constexpr_algorithmsshould also be defined in<utility> - LWG-3795 Self-move-assignment of
std::futureandstd::shared_futurehave unimplementable postconditions - LWG-3796
movable-boxas member should use default-initialization instead of copy-initialization
- LWG-3118
🩹 Patches an unimplemented feature
We should record this LWG issue in the GitHub issue tracking the feature. That way, we'll remember to verify it, but it doesn't represent net new work.
- Recorded in P0429R9
<flat_map>#2910:- LWG-3816
flat_mapandflat_multimapshould impose sequence container requirements
- LWG-3816
- Recorded in P1222R4
<flat_set>#2912: - Recorded in P1642R11 Freestanding Library: Easy
[utilities],[ranges], And[iterators]#2914:- LWG-3814 Add freestanding items requested by NB comments
- Recorded in P2286R8 Formatting Ranges #2919:
- LWG-3750 Too many papers bump
__cpp_lib_format
- LWG-3750 Too many papers bump
- Recorded in P2321R2
zip#2252:- LWG-3773
views::zip_transformstill requiresFto becopy_constructiblewhen empty pack
- LWG-3773
- Recorded in P2374R4
views::cartesian_product#2923: - Recorded in P2502R2
<generator>: Synchronous Coroutine Generator For Ranges #2936:
🐞 Not yet implemented
- Filed a GitHub issue labeled LWG
- LWG-3515 [stacktrace.basic.nonmem]:
operator<<should be less templatized (filed LWG-3515 [stacktrace.basic.nonmem]:operator<<should be less templatized #3217) - LWG-3545
std::pointer_traitsshould be SFINAE-friendly - LWG-3594
inout_ptr- inconsistentrelease()in destructor (filed LWG-3594inout_ptr- inconsistentrelease()in destructor #3218) - LWG-3629
make_error_codeandmake_error_conditionare customization points (filed LWG-3629make_error_codeandmake_error_conditionare customization points #3216) - LWG-3646
std::ranges::view_interface::sizereturns a signed type (filed LWG-3646std::ranges::view_interface::sizereturns a signed type #3219) - LWG-3677 Is a cv-qualified
pairspecially handled in uses-allocator construction? (filed LWG-3677 Is a cv-qualifiedpairspecially handled in uses-allocator construction? #3220) - LWG-3717
common_view::endshould improverandom_access_rangecase (filed LWG-3717common_view::endshould improverandom_access_rangecase #3221) - LWG-3736
move_iteratormissingdisable_sized_sentinel_forspecialization (filed LWG-3736move_iteratormissingdisable_sized_sentinel_forspecialization #3222) - LWG-3737
take_view::sentinelshould provideoperator-(filed LWG-3737take_view::sentinelshould provideoperator-#3223) - LWG-3743
ranges::to'sreservemay be ill-formed (filed LWG-3743ranges::to'sreservemay be ill-formed #3224) - LWG-3746
optional's spaceship withUwith a type derived fromoptionalcauses infinite constraint meta-recursion (filed LWG-3746optional's spaceship withUwith a type derived fromoptionalcauses infinite constraint meta-recursion #3225) - LWG-3778
vector<bool>missing exception specifications (filed LWG-3778vector<bool>missing exception specifications #3226) - LWG-3785
ranges::tois over-constrained on the destination type being a range (filed LWG-3785ranges::tois over-constrained on the destination type being a range #3227) - LWG-3798 Rvalue reference and
iterator_category(filed LWG-3798 Rvalue reference anditerator_category#3228) - LWG-3823 Unnecessary precondition for
is_aggregate(filed LWG-3823 Unnecessary precondition foris_aggregate#3229)
- LWG-3515 [stacktrace.basic.nonmem]:
- PR out for review
Metadata
Metadata
Assignees
Labels
Type
Projects
Status