Implements parts of:
- P0898R3 Standard Library Concepts
- P1754 Rename concepts to standard_case for C++20, while we still can
Differential D98983
[libcxx] adds concepts `std::totally_ordered` and `std::totally_ordered_with` cjdb on Mar 19 2021, 1:24 PM. Authored by
Details
Implements parts of:
Diff Detail
Event TimelineThere are a very large number of changes, so older changes are hidden. Show Older Changes
Comment Actions @EricWF and I were talking about this yesterday, interestingly. We agree, but we also agreed this should happen after everything is merged so it all remains consistent. WDYT?
Comment Actions For now a few comments, I'll have a closer look later.
Comment Actions No real blockers for me, but I'd like to see the patch pass the CI before approving.
Comment Actions Just a few comments right now. I'll try to do a more in-depth review later.
Comment Actions Are there any further blockers on this patch? I think I've replied to all the feedback.
Comment Actions LGTM! I'll already approve so @zoecarver can give the final approval.
Comment Actions This mostly looks good to me. I want to read over the logic part one more time while looking at the standard, but I think this is pretty much good to go. Sorry for being slow with reviewing.
Comment Actions Okay, this (finally) looks good to me. As we discussed, I think cutting down these tests a bit in the future will help me review it more quickly (and it would make me feel more confident that I haven't overlooked something). Maybe we should have a larger discussion about how we want to do concept tests in the discord channel. I think it would be beneficial to everyone to solidify some guidelines. Comment Actions (Also, please run this through clang-format or fix the formatting issues I pointed out earlier before you commit.) Comment Actions This is the product of clang-format. Per @ldionne's musings in D99691, manually overriding clang-format is going to become a hard error in the future. Yes, future patches will have a reduced set of tests for the most part, because they're not (a) testing the boundary of the language and library, and (b) testing a completely novel compiler feature with minimal field experience. D96477 is an example of this plan.
|