+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. > >