+1 On Tue, May 20, 2025 at 7:09 AM Ruoxi Sun <zanmato1...@gmail.com> wrote:
> > Is it fair to say most users of Arrow C++ do that via Python/R or shared > libraries? Making the migration to a recent C++ standard relatively safe? > > I would say so. For some C++ dependents I know of, they either don't depend > on very recent versions e.g. Velox (C++17) on Arrow 15.0.0 [1], or are > already using C++20 e.g. Doris [2] on Arrow 19.0.1 [3]. > > [1] > > https://github.com/facebookincubator/velox/blob/e4b5b3509cf37c53ae5cf94a72c6cf81706f3d10/scripts/setup-ubuntu.sh#L85 > [2] > > https://github.com/apache/doris/blob/403e7b5fc72167ab9b457f938e8c0c18f60207d6/be/CMakeLists.txt#L271 > [3] > > https://github.com/apache/doris/blob/403e7b5fc72167ab9b457f938e8c0c18f60207d6/thirdparty/vars.sh#L256 > > *Regards,* > *Rossi SUN* > > > On Mon, May 19, 2025 at 2:41 PM Felipe Oliveira Carvalho < > felipe...@gmail.com> wrote: > > > +1 > > > > Is it fair to say most users of Arrow C++ do that via Python/R or shared > > libraries? Making the migration to a recent C++ standard relatively safe? > > > > -- > > Felipe > > > > On Mon, May 19, 2025 at 1:14 PM Antoine Pitrou <anto...@python.org> > wrote: > > > > > > > > Hello, > > > > > > I am proposing that we switch Arrow C++ to require C++20. > > > > > > C++20 will offer support for more C++ language and standard library > > > features, such as: > > > > > > - concepts > > > - generic lambdas with explicit type parameters > > > - designated initializers > > > - calendar and timezone functions (currently, our Windows users need to > > > download the timezone database separately; this would not be required > > > anymore with C++20, IIUC) > > > - std::span (we currently use a backport) > > > - coroutines (not sure they are usable enough, though) > > > - various smaller improvements and additions > > > > > > A decent level of C++20 support is available with these compiler > > > versions (see https://en.cppreference.com/w/cpp/compiler_support#cpp20 > > > for details): > > > > > > - gcc 10 > > > - clang 10 to 19 > > > - MSVC 19.28 (Visual Studio 2019) or 19.30 (Visual Studio 2022) > > > > > > Switching to C++20 will happen in any case, the question is whether we > > > can do it now or we need to wait for a year or two. > > > > > > There is an experimental PR to switch to C++20 and it shows that there > > > is no blocker for switching (a couple odd issues will have to be fixed: > > > https://github.com/apache/arrow/pull/45445 > > > > > > A more general issue has been opened separately: > > > https://github.com/apache/arrow/issues/45885 > > > > > > Are there any opinions on this? > > > > > > Regards > > > > > > Antoine. > > > > > > > > >