You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
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.
The text was updated successfully, but these errors were encountered: