[libcxx-commits] [PATCH] D99873: [libcxx] adds `std::ranges::iter_move` and `std::iter_rvalue_reference_t`

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Apr 16 11:58:43 PDT 2021


ldionne commandeered this revision.
ldionne edited reviewers, added: cjdb; removed: ldionne.
ldionne added a comment.

After talking to Chris, Casey and Richard offline, I believe the following approach is the most sensible:

1. Write things as simply as possible, without purposefully pessimizing compile-times upfront
2. Try to be cognizant of the fact that overloads are not cheap, especially in the presence of complicated SFINAE (which is pretty much all the time with concepts)
3. Go back with more field experience and optimize the compile-time of the implementation based on what we see is truly slowing things down

That way, we're not going to cargo-cult one way of doing things before we have actual data to justify an approach. We'll also be able to optimize just the things that matter in practice, which is far from clear at this early stage.

Based on offline discussion with Chris, I'm going to commandeer this now to go back to the pre `constexpr if` approach.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99873/new/

https://reviews.llvm.org/D99873



More information about the libcxx-commits mailing list