Implements parts of:
- P0898R3 Standard Library Concepts
- P1754 Rename concepts to standard_case for C++20, while we still can
Depends on D96660
Paths
| Differential D96683
[libcxx] adds concept `std::common_with` ClosedPublic Authored by cjdb on Feb 14 2021, 8:01 PM.
Details
Summary Implements parts of:
Depends on D96660
Diff Detail
Event Timeline
cjdb marked an inline comment as done. Comment Actionsapplies some feedback
Comment Actions LGTM except nitpick about formatting in the tests. No need to wait for my re-review.
This revision is now accepted and ready to land.Feb 25 2021, 10:32 AM Closed by commit rGf893312c1a6a: [libcxx] adds concept `std::common_with` (authored by cjdb). · Explain WhyMar 3 2021, 8:31 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 325380 libcxx/include/concepts
libcxx/test/std/concepts/lang/common.compile.pass.cpp
|
I see this follows the spec closely, but I'm curious to understand. Here, I would have expected the check to be:
instead (with add_lvalue_reference_t simplified naively for legibility). In other words, why are we looking for a common reference between the non-const common type and the common-ref between the const-qualified types? I'm sure that'll highlight a misunderstanding I have about the concept.