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

Reply via email to