Describe the bug, including details regarding any error messages, version, and platform.
(Written by Claude, message reviewed by @thisisnic before posting)
Since #50785 was merged, Arrow C++ fails to compile in the R macOS CRAN nightly (test-r-macos-as-cran, cran-release config):
https://github.com/ursacomputing/crossbow/actions/runs/32845953430/job/97795549784
cpp/src/arrow/util/bitmap_ops.cc:230:57: error: no template named 'identity' in namespace 'std'; did you mean '__identity'?
The same error appears at lines 307 and 323 (MapBitmapUnary<std::identity>):
|
if constexpr (std::is_same_v<std::decay_t<Op>, std::identity>) { |
This job builds against the macOS 11.3 SDK to match CRAN's macOS builder. The libc++ headers in that SDK predate std::identity (added in libc++ 12 / macOS 12 SDK), so it is unavailable even with -std=gnu++20. The cran-m1 config, which uses the current Xcode SDK, passes.
This is the only use of std::identity in cpp/src, so replacing it with a local identity functor should be enough. Without a fix, the R package will fail to build on CRAN's macOS builder at the next release.
Component(s)
C++
Describe the bug, including details regarding any error messages, version, and platform.
(Written by Claude, message reviewed by @thisisnic before posting)
Since #50785 was merged, Arrow C++ fails to compile in the R macOS CRAN nightly (
test-r-macos-as-cran,cran-releaseconfig):https://github.com/ursacomputing/crossbow/actions/runs/32845953430/job/97795549784
The same error appears at lines 307 and 323 (
MapBitmapUnary<std::identity>):arrow/cpp/src/arrow/util/bitmap_ops.cc
Line 230 in 577d3b9
This job builds against the macOS 11.3 SDK to match CRAN's macOS builder. The libc++ headers in that SDK predate
std::identity(added in libc++ 12 / macOS 12 SDK), so it is unavailable even with-std=gnu++20. Thecran-m1config, which uses the current Xcode SDK, passes.This is the only use of
std::identityincpp/src, so replacing it with a local identity functor should be enough. Without a fix, the R package will fail to build on CRAN's macOS builder at the next release.Component(s)
C++