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

C++20 support #246

Open
lbt0116 opened this issue Nov 28, 2024 · 1 comment
Open

C++20 support #246

lbt0116 opened this issue Nov 28, 2024 · 1 comment

Comments

@lbt0116
Copy link

lbt0116 commented Nov 28, 2024

The project currently faces compatibility issues with C++20, such as disallowing template parameters in destructors (e.g., ~ConstraintSetTpl()) and the use of non-constexpr types like std::string in constant expressions, which prevent leveraging modern C++20 features. To address this, I propose ensuring full C++20 compliance by updating problematic code, replacing non-compliant patterns, and adding explicit C++20 support in the build system (e.g., CMake flags). This would enable developers to benefit from C++20's improvements like concepts, ranges, and enhanced constexpr, ensuring the library stays modern and developer-friendly.

@ManifoldFR
Copy link
Member

Hello, thanks for your interest in aligator!

Could you elaborate on some of these points? I am not familiar with C++20 beyond concepts.
We haven't looked at implementing C++20 features yet, due to both lack of time and lack of return on investment: inherent problems in even several robotics software stacks (looking at you, ROS) limited us to C++14 when we first started. Getting to C++17 was already a difficult negotiation.

We could get onto it with your help and the help of other developers if we could get a report (and a PR down the line) on e.g. noncompliant code and how to fix the CMake build flags.

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

No branches or pull requests

2 participants