Skip to content
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

Upgrade to C++23 #189

Open
Morwenn opened this issue Jun 10, 2021 · 0 comments
Open

Upgrade to C++23 #189

Morwenn opened this issue Jun 10, 2021 · 0 comments
Labels

Comments

@Morwenn
Copy link
Owner

Morwenn commented Jun 10, 2021

Still lots of time before actually getting to that issue, especially since there's the whole C++20 thing (#112) and 2.0.0 version to handle first, so this is more of a wish list for a distant future. The first step will likely be to conditionally support some features to 2.x.y at some point, and even to 1.x.y when it makes sense and it's not too difficult, then the rest will be nice things to have if there's ever a breaking change post 2.0.0.

This issues list can be used to track papers that were plenary approved for C++23.

Conditionally support back to 1.x.y

  • Support for fixed-width floating point types.
  • [[assume]] as the preferred implementation for CPPSORT_ASSUME when available.
  • There might be uses for std::stacktrace, I need to investigate.
  • TODO

Conditionally support back to 2.x.y

  • std::allocator::allocate_at_least
  • TODO

Features for the next breaking change

  • Deducing this will finally allow a way forward to implement mutable sorters (issue Mutable sorters #104).
  • Deducing this for various function adapters.
  • auto(x) can replace CPPSORT_AUTO_CAST in <cpp-sort/mstd/ranges.h>.
  • auto(x) for apply_permutation tests, update doc accordingly.
  • if consteval might help with the constexpr algorithms.
  • std::unreachable() surely has its uses in places.
  • constexpr std::unique_ptr, <cmath>, <cstdlib> (issue What about constexpr? #58).
  • How can we support static operator()? It sounds tricky enough.
  • static constexpr variables in constexpr functions for better codegen?
  • TODO

Considering that I still haven't probably started work on 2.x.y, the version might end up targeting C++23 instead of C++20.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant