Skip to content

fix(thrift): add TEnumIterator::operator== for libc++ 22#38

Open
kop wants to merge 1 commit into
release-24.0.0from
kop/fb-1819-thrift-libcxx-operator-eq
Open

fix(thrift): add TEnumIterator::operator== for libc++ 22#38
kop wants to merge 1 commit into
release-24.0.0from
kop/fb-1819-thrift-libcxx-operator-eq

Conversation

@kop

@kop kop commented Jun 30, 2026

Copy link
Copy Markdown

Background

PackDB is migrating its CMake build to Clang 22 + libc++ 22 (FB-1819). libc++ >= 19 implements
std::map's range constructor with `first == last`.

Summary

arrow's vendored thrift `TEnumIterator` only declared `operator!=`, so
`std::map<int,const char*>(TEnumIterator,...)` in the generated `parquet_types.cpp` failed to compile
under the LLVM 22 toolchain. Add the matching `operator==`.

Test Plan

  • parquet_static compiles under clang-22 + libc++22 in the packdb FB-1819 branch.

libc++ >= 19 implements std::map's range constructor with `first == last`. arrow's vendored
thrift TEnumIterator only declared operator!=, so std::map<int,const char*>(TEnumIterator,...)
in the generated parquet_types.cpp failed to compile under the LLVM 22 toolchain. Add the
matching operator==.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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

Successfully merging this pull request may close these issues.

1 participant