Repository navigation
chore: bump C++ standard to 23 - #139
Conversation
|
Waiting apache/arrow#46998 to be resolved, but should be fine for review. |
|
This is no longer a draft, right? |
Yeah, I just make it ready for review. |
The commit includes apache/arrow#46912, which are resolve our frequent CI failures.
|
I just changed to a more recent arrow commit which contains the Apache Thrift update[1], which should fix our frequent CI failure. |
|
So should Besides, C++23 has resize_and_overwrite, allowing zero-cost buffer initialization |
Personally I think Result/Status are well-structured wrappers, but I'm glad to hear others' opinions.
Ah, I wasn't aware of this feature, could you suggest where it might be applied? I think we can adopt more C++23 features in future PRs, assuming compiler support. I tried using |
I think we need to update it to use Apache Arrow 21.0.0 once it is released. It is only a temporary state to pin to an unreleased version. |
Sure, will keep an eye on it. |
Xuanwo
left a comment
There was a problem hiding this comment.
Thank you for working on this, let's move!
Enable C++20 consumers to include and use iceberg-cpp’s installed public headers when the library is built with ICEBERG_CXX20_COMPAT=ON, while keeping iceberg-cpp implementation code and internal workflows on C++23. C++23 remains the default public API. Restore the vendored iceberg::expected backport — brings back src/iceberg/compat/expected.h from #40 (removed by [#139](#139)), with its test and LICENSE entry. unexpected's comparison operators now go through error(). cpp20_compatibility_test compiles all public headers as C++20, and the C++20 example links against an installed compatibility package. Fix #928
No description provided.