pitrou opened a new issue, #44898: URL: https://github.com/apache/arrow/issues/44898
### Describe the bug, including details regarding any error messages, version, and platform. It seems https://github.com/apache/arrow/pull/44217 triggered a compilation error on GCC 8.x: https://github.com/ursacomputing/crossbow/actions/runs/12081500439/job/33690725970 ``` In file included from /arrow/cpp/src/arrow/buffer.h:33, from /arrow/cpp/src/arrow/array/data.h:28, from /arrow/cpp/src/arrow/array/array_base.h:26, from /arrow/cpp/src/arrow/array/array_nested.h:29, from /arrow/cpp/src/arrow/compute/api_vector.cc:26: /arrow/cpp/src/arrow/util/span.h: In instantiation of 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>': /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /arrow/cpp/src/arrow/util/span.h:50:43: error: no matching function for call to 'data(const arrow::ChunkResolver&)' std::void_t<decltype(span<T>{std::data(std::declval<R>()), ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:51, from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37, from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80, from /arrow/cpp/src/arrow/compute/api_vector.h:20, from /arrow/cpp/src/arrow/compute/api_vector.cc:18: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:289:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&)' data(_Container& __cont) noexcept(noexcept(__cont.data())) ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:289:5: note: template argument deduction/substitution failed: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&) [with _Container = const arrow::ChunkResolver]': /arrow/cpp/src/arrow/util/span.h:50:43: required from 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>' /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:290:24: error: 'const class arrow::ChunkResolver' has no member named 'data' -> decltype(__cont.data()) ~~~~~~~^~~~ /arrow/cpp/src/arrow/util/span.h: In instantiation of 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>': /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:299:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&)' data(const _Container& __cont) noexcept(noexcept(__cont.data())) ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:299:5: note: template argument deduction/substitution failed: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&) [with _Container = arrow::ChunkResolver]': /arrow/cpp/src/arrow/util/span.h:50:43: required from 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>' /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:300:24: error: 'const class arrow::ChunkResolver' has no member named 'data' -> decltype(__cont.data()) ~~~~~~~^~~~ /arrow/cpp/src/arrow/util/span.h: In instantiation of 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>': /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:309:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::data(_Tp (&)[_Nm])' data(_Tp (&__array)[_Nm]) noexcept ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:309:5: note: template argument deduction/substitution failed: In file included from /arrow/cpp/src/arrow/buffer.h:33, from /arrow/cpp/src/arrow/array/data.h:28, from /arrow/cpp/src/arrow/array/array_base.h:26, from /arrow/cpp/src/arrow/array/array_nested.h:29, from /arrow/cpp/src/arrow/compute/api_vector.cc:26: /arrow/cpp/src/arrow/util/span.h:50:43: note: mismatched types '_Tp [_Nm]' and 'const arrow::ChunkResolver' std::void_t<decltype(span<T>{std::data(std::declval<R>()), ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:51, from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37, from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80, from /arrow/cpp/src/arrow/compute/api_vector.h:20, from /arrow/cpp/src/arrow/compute/api_vector.cc:18: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:318:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::data(std::initializer_list<_Tp>)' data(initializer_list<_Tp> __il) noexcept ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:318:5: note: template argument deduction/substitution failed: In file included from /arrow/cpp/src/arrow/buffer.h:33, from /arrow/cpp/src/arrow/array/data.h:28, from /arrow/cpp/src/arrow/array/array_base.h:26, from /arrow/cpp/src/arrow/array/array_nested.h:29, from /arrow/cpp/src/arrow/compute/api_vector.cc:26: /arrow/cpp/src/arrow/util/span.h:50:43: note: 'arrow::ChunkResolver' is not derived from 'std::initializer_list<_Tp>' std::void_t<decltype(span<T>{std::data(std::declval<R>()), ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /arrow/cpp/src/arrow/util/span.h:51:43: error: no matching function for call to 'size(const arrow::ChunkResolver&)' std::size(std::declval<R>())})>> : std::true_type {}; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:51, from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37, from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80, from /arrow/cpp/src/arrow/compute/api_vector.h:20, from /arrow/cpp/src/arrow/compute/api_vector.cc:18: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:242:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)' size(const _Container& __cont) noexcept(noexcept(__cont.size())) ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:242:5: note: template argument deduction/substitution failed: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&) [with _Container = arrow::ChunkResolver]': /arrow/cpp/src/arrow/util/span.h:51:43: required from 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>' /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:243:24: error: 'const class arrow::ChunkResolver' has no member named 'size' -> decltype(__cont.size()) ~~~~~~~^~~~ /arrow/cpp/src/arrow/util/span.h: In instantiation of 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>': /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:252:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])' size(const _Tp (&/*__array*/)[_Nm]) noexcept ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:252:5: note: template argument deduction/substitution failed: In file included from /arrow/cpp/src/arrow/buffer.h:33, from /arrow/cpp/src/arrow/array/data.h:28, from /arrow/cpp/src/arrow/array/array_base.h:26, from /arrow/cpp/src/arrow/array/array_nested.h:29, from /arrow/cpp/src/arrow/compute/api_vector.cc:26: /arrow/cpp/src/arrow/util/span.h:51:43: note: mismatched types 'const _Tp [_Nm]' and 'const arrow::ChunkResolver' std::size(std::declval<R>())})>> : std::true_type {}; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /arrow/cpp/src/arrow/util/span.h:51:84: error: no matching function for call to 'arrow::util::span<const arrow::Array* const>::span(<brace-enclosed initializer list>)' std::size(std::declval<R>())})>> : std::true_type {}; ^ /arrow/cpp/src/arrow/util/span.h:91:13: note: candidate: 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<T>::span(R&&)' constexpr span(R&& range) : span{std::data(range), std::size(range)} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:91:13: note: template argument deduction/substitution failed: /arrow/cpp/src/arrow/util/span.h:81:13: note: candidate: 'constexpr arrow::util::span<T>::span(T*, T*) [with T = const arrow::Array* const]' constexpr span(T* begin, T* end) ^~~~ /arrow/cpp/src/arrow/util/span.h:81:13: note: conversion of argument 1 would be ill-formed: /arrow/cpp/src/arrow/util/span.h:79:13: note: candidate: 'constexpr arrow::util::span<T>::span(T*, size_t) [with T = const arrow::Array* const; size_t = long unsigned int]' constexpr span(T* data, size_t count) : data_{data}, size_{count} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:79:13: note: conversion of argument 1 would be ill-formed: /arrow/cpp/src/arrow/util/span.h:77:13: note: candidate: 'template<class M, class> constexpr arrow::util::span<T>::span(arrow::util::span<M>)' constexpr span(span<M> mut) : span{mut.data(), mut.size()} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:77:13: note: template argument deduction/substitution failed: /arrow/cpp/src/arrow/util/span.h:72:3: note: candidate: 'constexpr arrow::util::span<T>::span(const arrow::util::span<T>&) [with T = const arrow::Array* const]' span(const span&) = default; ^~~~ /arrow/cpp/src/arrow/util/span.h:72:3: note: candidate expects 1 argument, 2 provided /arrow/cpp/src/arrow/util/span.h:71:3: note: candidate: 'constexpr arrow::util::span<T>::span() [with T = const arrow::Array* const]' span() = default; ^~~~ /arrow/cpp/src/arrow/util/span.h:71:3: note: candidate expects 0 arguments, 2 provided /arrow/cpp/src/arrow/util/span.h:50:43: error: no matching function for call to 'data(const arrow::ChunkResolver&)' std::void_t<decltype(span<T>{std::data(std::declval<R>()), ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:51, from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37, from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80, from /arrow/cpp/src/arrow/compute/api_vector.h:20, from /arrow/cpp/src/arrow/compute/api_vector.cc:18: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:289:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&)' data(_Container& __cont) noexcept(noexcept(__cont.data())) ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:289:5: note: template argument deduction/substitution failed: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&) [with _Container = const arrow::ChunkResolver]': /arrow/cpp/src/arrow/util/span.h:50:43: required from 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>' /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:290:24: error: 'const class arrow::ChunkResolver' has no member named 'data' -> decltype(__cont.data()) ~~~~~~~^~~~ /arrow/cpp/src/arrow/util/span.h: In instantiation of 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>': /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:299:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&)' data(const _Container& __cont) noexcept(noexcept(__cont.data())) ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:299:5: note: template argument deduction/substitution failed: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&) [with _Container = arrow::ChunkResolver]': /arrow/cpp/src/arrow/util/span.h:50:43: required from 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>' /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:300:24: error: 'const class arrow::ChunkResolver' has no member named 'data' -> decltype(__cont.data()) ~~~~~~~^~~~ /arrow/cpp/src/arrow/util/span.h: In instantiation of 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>': /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:309:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::data(_Tp (&)[_Nm])' data(_Tp (&__array)[_Nm]) noexcept ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:309:5: note: template argument deduction/substitution failed: In file included from /arrow/cpp/src/arrow/buffer.h:33, from /arrow/cpp/src/arrow/array/data.h:28, from /arrow/cpp/src/arrow/array/array_base.h:26, from /arrow/cpp/src/arrow/array/array_nested.h:29, from /arrow/cpp/src/arrow/compute/api_vector.cc:26: /arrow/cpp/src/arrow/util/span.h:50:43: note: mismatched types '_Tp [_Nm]' and 'const arrow::ChunkResolver' std::void_t<decltype(span<T>{std::data(std::declval<R>()), ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:51, from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37, from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80, from /arrow/cpp/src/arrow/compute/api_vector.h:20, from /arrow/cpp/src/arrow/compute/api_vector.cc:18: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:318:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::data(std::initializer_list<_Tp>)' data(initializer_list<_Tp> __il) noexcept ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:318:5: note: template argument deduction/substitution failed: In file included from /arrow/cpp/src/arrow/buffer.h:33, from /arrow/cpp/src/arrow/array/data.h:28, from /arrow/cpp/src/arrow/array/array_base.h:26, from /arrow/cpp/src/arrow/array/array_nested.h:29, from /arrow/cpp/src/arrow/compute/api_vector.cc:26: /arrow/cpp/src/arrow/util/span.h:50:43: note: 'arrow::ChunkResolver' is not derived from 'std::initializer_list<_Tp>' std::void_t<decltype(span<T>{std::data(std::declval<R>()), ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /arrow/cpp/src/arrow/util/span.h:51:43: error: no matching function for call to 'size(const arrow::ChunkResolver&)' std::size(std::declval<R>())})>> : std::true_type {}; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:51, from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39, from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37, from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80, from /arrow/cpp/src/arrow/compute/api_vector.h:20, from /arrow/cpp/src/arrow/compute/api_vector.cc:18: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:242:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)' size(const _Container& __cont) noexcept(noexcept(__cont.size())) ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:242:5: note: template argument deduction/substitution failed: /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&) [with _Container = arrow::ChunkResolver]': /arrow/cpp/src/arrow/util/span.h:51:43: required from 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>' /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:243:24: error: 'const class arrow::ChunkResolver' has no member named 'size' -> decltype(__cont.size()) ~~~~~~~^~~~ /arrow/cpp/src/arrow/util/span.h: In instantiation of 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const arrow::ChunkResolver&, void>': /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const arrow::ChunkResolver&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:106:70: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:252:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])' size(const _Tp (&/*__array*/)[_Nm]) noexcept ^~~~ /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/range_access.h:252:5: note: template argument deduction/substitution failed: In file included from /arrow/cpp/src/arrow/buffer.h:33, from /arrow/cpp/src/arrow/array/data.h:28, from /arrow/cpp/src/arrow/array/array_base.h:26, from /arrow/cpp/src/arrow/array/array_nested.h:29, from /arrow/cpp/src/arrow/compute/api_vector.cc:26: /arrow/cpp/src/arrow/util/span.h:51:43: note: mismatched types 'const _Tp [_Nm]' and 'const arrow::ChunkResolver' std::size(std::declval<R>())})>> : std::true_type {}; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /arrow/cpp/src/arrow/util/span.h:51:84: error: no matching function for call to 'arrow::util::span<const arrow::Array* const>::span(<brace-enclosed initializer list>)' std::size(std::declval<R>())})>> : std::true_type {}; ^ /arrow/cpp/src/arrow/util/span.h:91:13: note: candidate: 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<T>::span(R&&)' constexpr span(R&& range) : span{std::data(range), std::size(range)} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:91:13: note: template argument deduction/substitution failed: /arrow/cpp/src/arrow/util/span.h:81:13: note: candidate: 'constexpr arrow::util::span<T>::span(T*, T*) [with T = const arrow::Array* const]' constexpr span(T* begin, T* end) ^~~~ /arrow/cpp/src/arrow/util/span.h:81:13: note: conversion of argument 1 would be ill-formed: /arrow/cpp/src/arrow/util/span.h:79:13: note: candidate: 'constexpr arrow::util::span<T>::span(T*, size_t) [with T = const arrow::Array* const; size_t = long unsigned int]' constexpr span(T* data, size_t count) : data_{data}, size_{count} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:79:13: note: conversion of argument 1 would be ill-formed: /arrow/cpp/src/arrow/util/span.h:77:13: note: candidate: 'template<class M, class> constexpr arrow::util::span<T>::span(arrow::util::span<M>)' constexpr span(span<M> mut) : span{mut.data(), mut.size()} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:77:13: note: template argument deduction/substitution failed: /arrow/cpp/src/arrow/util/span.h:72:3: note: candidate: 'constexpr arrow::util::span<T>::span(const arrow::util::span<T>&) [with T = const arrow::Array* const]' span(const span&) = default; ^~~~ /arrow/cpp/src/arrow/util/span.h:72:3: note: candidate expects 1 argument, 2 provided /arrow/cpp/src/arrow/util/span.h:71:3: note: candidate: 'constexpr arrow::util::span<T>::span() [with T = const arrow::Array* const]' span() = default; ^~~~ /arrow/cpp/src/arrow/util/span.h:71:3: note: candidate expects 0 arguments, 2 provided /arrow/cpp/src/arrow/util/span.h: In instantiation of 'struct arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, const std::vector<std::shared_ptr<arrow::RecordBatch> >&, void>': /arrow/cpp/src/arrow/util/span.h:86:81: required by substitution of 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<const arrow::Array* const>::span(R&&) [with R = const std::vector<std::shared_ptr<arrow::RecordBatch> >&; typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous> = <missing>; DisableUnlessSimilarTypes = <missing>]' /arrow/cpp/src/arrow/compute/kernels/chunked_internal.h:139:46: required from here /arrow/cpp/src/arrow/util/span.h:51:84: error: no matching function for call to 'arrow::util::span<const arrow::Array* const>::span(<brace-enclosed initializer list>)' std::size(std::declval<R>())})>> : std::true_type {}; ^ /arrow/cpp/src/arrow/util/span.h:91:13: note: candidate: 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<T>::span(R&&)' constexpr span(R&& range) : span{std::data(range), std::size(range)} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:91:13: note: template argument deduction/substitution failed: /arrow/cpp/src/arrow/util/span.h:51:84: note: candidate expects 1 argument, 2 provided std::size(std::declval<R>())})>> : std::true_type {}; ^ /arrow/cpp/src/arrow/util/span.h:81:13: note: candidate: 'constexpr arrow::util::span<T>::span(T*, T*) [with T = const arrow::Array* const]' constexpr span(T* begin, T* end) ^~~~ /arrow/cpp/src/arrow/util/span.h:81:13: note: no known conversion for argument 1 from 'const std::shared_ptr<arrow::RecordBatch>*' to 'const arrow::Array* const*' /arrow/cpp/src/arrow/util/span.h:79:13: note: candidate: 'constexpr arrow::util::span<T>::span(T*, size_t) [with T = const arrow::Array* const; size_t = long unsigned int]' constexpr span(T* data, size_t count) : data_{data}, size_{count} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:79:13: note: no known conversion for argument 1 from 'const std::shared_ptr<arrow::RecordBatch>*' to 'const arrow::Array* const*' /arrow/cpp/src/arrow/util/span.h:77:13: note: candidate: 'template<class M, class> constexpr arrow::util::span<T>::span(arrow::util::span<M>)' constexpr span(span<M> mut) : span{mut.data(), mut.size()} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:77:13: note: template argument deduction/substitution failed: /arrow/cpp/src/arrow/util/span.h:51:84: note: mismatched types 'arrow::util::span<T>' and 'const std::shared_ptr<arrow::RecordBatch>*' std::size(std::declval<R>())})>> : std::true_type {}; ^ /arrow/cpp/src/arrow/util/span.h:72:3: note: candidate: 'constexpr arrow::util::span<T>::span(const arrow::util::span<T>&) [with T = const arrow::Array* const]' span(const span&) = default; ^~~~ /arrow/cpp/src/arrow/util/span.h:72:3: note: candidate expects 1 argument, 2 provided /arrow/cpp/src/arrow/util/span.h:71:3: note: candidate: 'constexpr arrow::util::span<T>::span() [with T = const arrow::Array* const]' span() = default; ^~~~ /arrow/cpp/src/arrow/util/span.h:71:3: note: candidate expects 0 arguments, 2 provided /arrow/cpp/src/arrow/util/span.h:51:84: error: no matching function for call to 'arrow::util::span<const arrow::Array* const>::span(<brace-enclosed initializer list>)' std::size(std::declval<R>())})>> : std::true_type {}; ^ /arrow/cpp/src/arrow/util/span.h:91:13: note: candidate: 'template<class R, typename std::enable_if<arrow::util::ConstructibleFromDataAndSize<arrow::util::span<const arrow::Array* const>, R, void>::value, bool>::type <anonymous>, class DisableUnlessSimilarTypes> constexpr arrow::util::span<T>::span(R&&)' constexpr span(R&& range) : span{std::data(range), std::size(range)} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:91:13: note: template argument deduction/substitution failed: /arrow/cpp/src/arrow/util/span.h:51:84: note: candidate expects 1 argument, 2 provided std::size(std::declval<R>())})>> : std::true_type {}; ^ /arrow/cpp/src/arrow/util/span.h:81:13: note: candidate: 'constexpr arrow::util::span<T>::span(T*, T*) [with T = const arrow::Array* const]' constexpr span(T* begin, T* end) ^~~~ /arrow/cpp/src/arrow/util/span.h:81:13: note: no known conversion for argument 1 from 'const std::shared_ptr<arrow::RecordBatch>*' to 'const arrow::Array* const*' /arrow/cpp/src/arrow/util/span.h:79:13: note: candidate: 'constexpr arrow::util::span<T>::span(T*, size_t) [with T = const arrow::Array* const; size_t = long unsigned int]' constexpr span(T* data, size_t count) : data_{data}, size_{count} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:79:13: note: no known conversion for argument 1 from 'const std::shared_ptr<arrow::RecordBatch>*' to 'const arrow::Array* const*' /arrow/cpp/src/arrow/util/span.h:77:13: note: candidate: 'template<class M, class> constexpr arrow::util::span<T>::span(arrow::util::span<M>)' constexpr span(span<M> mut) : span{mut.data(), mut.size()} {} ^~~~ /arrow/cpp/src/arrow/util/span.h:77:13: note: template argument deduction/substitution failed: /arrow/cpp/src/arrow/util/span.h:51:84: note: mismatched types 'arrow::util::span<T>' and 'const std::shared_ptr<arrow::RecordBatch>*' std::size(std::declval<R>())})>> : std::true_type {}; ^ /arrow/cpp/src/arrow/util/span.h:72:3: note: candidate: 'constexpr arrow::util::span<T>::span(const arrow::util::span<T>&) [with T = const arrow::Array* const]' span(const span&) = default; ^~~~ /arrow/cpp/src/arrow/util/span.h:72:3: note: candidate expects 1 argument, 2 provided /arrow/cpp/src/arrow/util/span.h:71:3: note: candidate: 'constexpr arrow::util::span<T>::span() [with T = const arrow::Array* const]' span() = default; ^~~~ /arrow/cpp/src/arrow/util/span.h:71:3: note: candidate expects 0 arguments, 2 provided ``` ### Component(s) C++ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org