Skip to content

[C++] std::in_range in column_reader.cc fails to compile with CRAN's macOS 11.3 SDK #55430

Closed as not planned

Description

@thisisnic

The test-r-macos-as-cran nightly cran-release job, which builds Arrow C++ from source against the macOS 11.3 SDK that CRAN uses, has been failing since 2026-11-01 with:

cpp/src/parquet/column_reader.cc:88:41: error: no member named 'in_range' in namespace 'std'

Failing lines:

/// True if a T can hold a U.
template <typename T, typename U>
inline constexpr bool can_hold_v = std::in_range<T>(std::numeric_limits<U>::min()) &&
std::in_range<T>(std::numeric_limits<U>::max());

std::in_range was added in libc++ 13; the 11.3 SDK's libc++ does not have it. Introduced in #50629.

Failing run (2026-11-01): https://github.com/ursacomputing/crossbow/actions/runs/41278980783

Same class of problem as GH-49176 and GH-53945. Fix is to guard on __cpp_lib_integer_comparison_functions and fall back to a std::numeric_limits comparison, or just write the comparison directly.

Note that on current main this error is masked by GH-55429 (std::invocable in codegen_internal.h), which fails earlier in the build; it will reappear once that is fixed.

This issue was drafted by Claude from the crossbow nightly logs and reviewed by Nic Crane before posting.

Activity

  1. added this to the 27.0.0 milestone on Nov 6, 2026
  2. changed the title [-][C++][Parquet] std::in_range in column_reader.cc fails to compile with CRAN's macOS 11.3 SDK[/-] [+][C++] std::in_range in column_reader.cc fails to compile with CRAN's macOS 11.3 SDK[/+] on Nov 6, 2026
  3. thisisnic commented on Nov 9, 2026

    @thisisnic
    MemberAuthor

    Closing this and wrapping it up in #55429 as the PR to fix covers both

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions