-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Meta LWG issue: 2020-11 meeting #1446
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Thanks @statementreply and @CaseyCarter, I've applied your issue analysis. (LWG-3455 might actually be N/A but listing it as already implemented without comments is equally good.) |
LWG-3476 is N/A: it removes unnecessary requirements that we weren't using - because they're unnecessary - and the impetus for filing the issue is that we didn't want to enforce the silly requirements despite that they were Mandates. LWG-3466 is unimplemented: it adds a precondition that the type argument for the LWG-2839 is probably N/A, since we pay attention to self-assignment and self-swap when we implement types, but I suppose it couldn't hurt to have someone audit move assignments. Filed #1485 to track. |
Thanks @CaseyCarter and everyone else for your work here - all issues have been properly categorized. 🎉 😺 |
At the November 2020 virtual plenary meeting, the following LWG issues were resolved in the C++ Working Paper.
For each of these issues, we've determined whether they are:
✖️ Not applicable
If an issue requires no action from implementers, we mark it as N/A. Categories:
node_handle
private members missing "exposition only" comment<cstdint>
macrosmonotonic_buffer_resource
growth policy is unclearmove_iterator
's conversions are more broken after P1207boolean-testable
condition_variable_any
fails to constrain itsLock
parametersranges::advance(i, s)
convertible_to
's description mishandles cv-qualifiedvoid
thread
andjthread
constructors require that the parameters be move-constructible but never move construct the parametersranges::advance
violates its preconditions😸 Already implemented
We used to record when issues were implemented (i.e. which VS update) although such bookkeeping is probably not necessary anymore.
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.
ranges::ssize(E)
doesn't matchranges::size(E)
common_view
's converting constructor is bad, tooelements_view::begin()
andelements_view::end()
have incompatible constraintscpp17-iterator
should check that the type looks like an iterator firstsingle_view
's in place constructor should be explicitthree_way_comparable_with<reverse_iterator<int*>, reverse_iterator<const int*>>
indirectly_readable_traits
ambiguity for types with bothvalue_type
andelement_type
take_view
anddrop_view
have different constraintsconst
overloads oftake_while_view::begin/end
are underconstrainedcompare_partial_order_fallback
requiresF < E
bool
can't be an integer-like typecounted_iterator
is missing preconditionsdrop_view
'sconst begin
should additionally requiresized_range
transform_view::
iterator
's difference is overconstrainedlock_guard<MutexTypes...>::mutex_type
typedef unclearweak_ptr
?size
returnend - begin
?subrange
's conversions frompair-like
ios_base
never reclaims memory foriarray
andparray
__cpp_lib_polymorphic_allocator
is in the wrong header<yvals_core.h>
so they're available in all headers.unique_ptr
move assignmentsemiregular-box
🩹 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.
operator<=>(const unique_ptr<T, D>&, nullptr_t)
can't get no satisfactionoperator<=>(const shared_ptr<T>&, nullptr_t)
definition ill-formedcomparison_category
join_view
s is broken because of CTAD🪲 Not yet implemented
We should file a GitHub issue labeled LWG; see those existing examples.
polymorphic_allocator::destroy
is extraneouspackaged_task
deduction guidesmonotonic_buffer_resource::release()
is_always_equal
added tostd::allocator
makes the standard library treat derived types as always equaldirectory_entry
stream insertionstd::tuple<>
should be trivially constructibletransform_view
'ssentinel
<false>
not comparable withiterator
<true>
take_view
andtake_while_view
'ssentinel
<false>
not comparable with their const iteratortake_view
.take_while_view
, with comments removed by PR Remove comments for resolved LWG issues #1456.noop_coroutine_handle
guaranteesistream::gcount()
can overflowpromise
/future
/shared_future
consistentlyThe text was updated successfully, but these errors were encountered: