Skip to content

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

Merged
lorenzhs merged 1 commit into
release-24.0.0from
kop/fb-1819-thrift-libcxx-operator-eq
Jul 23, 2026
Merged

fix(thrift): add TEnumIterator::operator== for libc++ 22#38
lorenzhs merged 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>
@lorenzhs
lorenzhs merged commit a84ccf9 into release-24.0.0 Jul 23, 2026
7 checks passed
@lorenzhs
lorenzhs deleted the kop/fb-1819-thrift-libcxx-operator-eq branch July 23, 2026 08:21
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.

2 participants