cmake: upgrade CMAKE_CXX_STANDARD from 20 to 23
Adopt C++23 to leverage new standard library features and reduce
dependencies on third-party implementations:
Standard library improvements:
- std::expected<> replaces third-party implementation at src/include/expected.hpp
- std::flat_map/std::flat_set replace boost alternatives
- std::stacktrace replaces homebrew implementation at src/common/BackTrace.h
Language improvements:
- Deducing this enables elimination of code duplication
Benefits:
- Reduced maintenance overhead
- Fewer third-party dependencies
- Simplified codebase
This upgrade is supported by our migration to clang-19 (
0e5a51b6) and
libstdc++ from GCC-11, which provide sufficient C++23 feature coverage
for our needs.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>