[ https://issues.apache.org/jira/browse/ARROW-18135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated ARROW-18135: ----------------------------------- Labels: pull-request-available (was: ) > [C++] Avoid warnings that ExecBatch::length may be uninitialized > ---------------------------------------------------------------- > > Key: ARROW-18135 > URL: https://issues.apache.org/jira/browse/ARROW-18135 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ > Reporter: Yaron Gvili > Assignee: Yaron Gvili > Priority: Major > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > Here is a build log of the master branch that shows the warnings: > {code:java} > [131/534] Building CXX object > src/arrow/CMakeFiles/arrow_objlib.dir/compute/exec/exec_plan.cc.o > In file included from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/exec_plan.cc:25: > In constructor > ‘arrow::compute::ExecBatch::ExecBatch(arrow::compute::ExecBatch&&)’, > inlined from > ‘arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>’ > at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/exec_plan.cc:605:73, > inlined from ‘_OIter std::transform(_IIter, _IIter, _OIter, > _UnaryOperation) [with _IIter = > std::move_iterator<__gnu_cxx::__normal_iterator<std::optional<arrow::compute::ExecBatch>*, > std::vector<std::optional<arrow::compute::ExecBatch>, > std::allocator<std::optional<arrow::compute::ExecBatch> > > > >; _OIter = > std::back_insert_iterator<std::vector<arrow::compute::ExecBatch> >; > _UnaryOperation = > arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>]’ > at /usr/include/c++/11/bits/stl_algo.h:4296:12, > inlined from ‘std::vector<To> arrow::internal::MapVector(Fn&&, > std::vector<_ValT>&&) [with Fn = > arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>; > From = std::optional<arrow::compute::ExecBatch>; To = > arrow::compute::ExecBatch]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/vector.h:102:17, > inlined from > ‘arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()>’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/exec_plan.cc:604:44, > inlined from ‘typename std::enable_if<(((! > std::is_void<ContinueResult>::value) && (! > arrow::detail::is_future<ContinueResult>::value)) && ((! > NextFuture::is_empty) || std::is_same<ContinueResult, > arrow::Status>::value))>::type > arrow::detail::ContinueFuture::operator()(NextFuture, ContinueFunc&&, Args&& > ...) const [with ContinueFunc = > arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()>; Args = {}; ContinueResult = > arrow::Result<std::vector<arrow::compute::ExecBatch> >; NextFuture = > arrow::Future<std::vector<arrow::compute::ExecBatch> >]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:150:22, > inlined from ‘void > arrow::detail::ContinueFuture::IgnoringArgsIf(std::true_type, NextFuture&&, > ContinueFunc&&, Args&& ...) const [with ContinueFunc = > arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()>; NextFuture = > arrow::Future<std::vector<arrow::compute::ExecBatch> >; Args = {const > arrow::internal::Empty&}]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:188:15, > inlined from ‘void arrow::Future<T>::ThenOnComplete<OnSuccess, > OnFailure>::operator()(const arrow::Result<T>&) && [with OnSuccess = > arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()>; OnFailure = > arrow::Future<>::PassthruOnFailure<arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()> >; T = arrow::internal::Empty]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:545:39: > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec.h:179:21: > warning: ‘*(arrow::compute::ExecBatch*)((char*)&<unnamed> + > offsetof(std::optional<arrow::compute::ExecBatch>,std::optional<arrow::compute::ExecBatch>::<unnamed>.std::_Optional_base<arrow::compute::ExecBatch, > false, false>::<unnamed>)).arrow::compute::ExecBatch::length’ may be used > uninitialized [-Wmaybe-uninitialized] > 179 | struct ARROW_EXPORT ExecBatch { > | ^~~~~~~~~ > In file included from /usr/include/c++/11/functional:65, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/exec_plan.h:22, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/exec_plan.cc:18: > /usr/include/c++/11/bits/stl_algo.h: In member function ‘void > arrow::Future<T>::ThenOnComplete<OnSuccess, OnFailure>::operator()(const > arrow::Result<T>&) && [with OnSuccess = > arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()>; OnFailure = > arrow::Future<>::PassthruOnFailure<arrow::compute::DeclarationToExecBatchesAsync(arrow::compute::Declaration, > arrow::compute::ExecContext*)::<lambda()> >; T = arrow::internal::Empty]’: > /usr/include/c++/11/bits/stl_algo.h:4296:31: note: ‘<anonymous>’ declared here > 4296 | *__result = __unary_op(*__first); > | ~~~~~~~~~~^~~~~~~~~~ > [247/534] Building CXX object > src/arrow/CMakeFiles/arrow_testing_objlib.dir/compute/exec/test_util.cc.o > In file included from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/test_util.h:29, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/test_util.cc:18: > In constructor > ‘arrow::compute::ExecBatch::ExecBatch(arrow::compute::ExecBatch&&)’, > inlined from ‘arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/test_util.cc:192:73, > inlined from ‘_OIter std::transform(_IIter, _IIter, _OIter, > _UnaryOperation) [with _IIter = > std::move_iterator<__gnu_cxx::__normal_iterator<std::optional<arrow::compute::ExecBatch>*, > std::vector<std::optional<arrow::compute::ExecBatch>, > std::allocator<std::optional<arrow::compute::ExecBatch> > > > >; _OIter = > std::back_insert_iterator<std::vector<arrow::compute::ExecBatch> >; > _UnaryOperation = arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>]’ at > /usr/include/c++/11/bits/stl_algo.h:4296:12, > inlined from ‘std::vector<To> arrow::internal::MapVector(Fn&&, > std::vector<From>&&) [with Fn = > arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>; From = > std::optional<arrow::compute::ExecBatch>; To = arrow::compute::ExecBatch]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/vector.h:102:17, > inlined from ‘arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/test_util.cc:191:44, > inlined from ‘typename std::enable_if<(((! > std::is_void<ContinueResult>::value) && (! > arrow::detail::is_future<ContinueResult>::value)) && ((! > NextFuture::is_empty) || std::is_same<ContinueResult, > arrow::Status>::value))>::type > arrow::detail::ContinueFuture::operator()(NextFuture, ContinueFunc&&, Args&& > ...) const [with ContinueFunc = > arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>; Args = {}; ContinueResult = > arrow::Result<std::vector<arrow::compute::ExecBatch> >; NextFuture = > arrow::Future<std::vector<arrow::compute::ExecBatch> >]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:150:22, > inlined from ‘void > arrow::detail::ContinueFuture::IgnoringArgsIf(std::true_type, NextFuture&&, > ContinueFunc&&, Args&& ...) const [with ContinueFunc = > arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>; NextFuture = > arrow::Future<std::vector<arrow::compute::ExecBatch> >; Args = {const > arrow::internal::Empty&}]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:188:15, > inlined from ‘void arrow::Future<T>::ThenOnComplete<OnSuccess, > OnFailure>::operator()(const arrow::Result<T>&) && [with OnSuccess = > arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>; OnFailure = > arrow::Future<>::PassthruOnFailure<arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()> >; T = arrow::internal::Empty]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:545:39, > inlined from ‘void > arrow::Future<T>::WrapResultyOnComplete::Callback<OnComplete>::operator()(const > arrow::FutureImpl&) && [with OnComplete = > arrow::Future<>::ThenOnComplete<arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>, > arrow::Future<>::PassthruOnFailure<arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()> > >; T = arrow::internal::Empty]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:442:31, > inlined from ‘R arrow::internal::FnOnce<R(A ...)>::FnImpl<Fn>::invoke(A&& > ...) [with Fn = > arrow::Future<>::WrapResultyOnComplete::Callback<arrow::Future<>::ThenOnComplete<arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>, > arrow::Future<>::PassthruOnFailure<arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()> > > >; R = void; A = {const arrow::FutureImpl&}]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/functional.h:152:56: > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec.h:179:21: > warning: ‘*(arrow::compute::ExecBatch*)((char*)&<unnamed> + > offsetof(std::optional<arrow::compute::ExecBatch>,std::optional<arrow::compute::ExecBatch>::<unnamed>.std::_Optional_base<arrow::compute::ExecBatch, > false, false>::<unnamed>)).arrow::compute::ExecBatch::length’ may be used > uninitialized [-Wmaybe-uninitialized] > 179 | struct ARROW_EXPORT ExecBatch { > | ^~~~~~~~~ > In file included from /usr/include/c++/11/algorithm:62, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/testing/gtest_util.h:20, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/test_util.h:20, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/test_util.cc:18: > /usr/include/c++/11/bits/stl_algo.h: In member function ‘R > arrow::internal::FnOnce<R(A ...)>::FnImpl<Fn>::invoke(A&& ...) [with Fn = > arrow::Future<>::WrapResultyOnComplete::Callback<arrow::Future<>::ThenOnComplete<arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()>, > arrow::Future<>::PassthruOnFailure<arrow::compute::StartAndCollect(arrow::compute::ExecPlan*, > arrow::AsyncGenerator<std::optional<arrow::compute::ExecBatch> > >)::<lambda()> > > >; R = void; A = {const arrow::FutureImpl&}]’: > /usr/include/c++/11/bits/stl_algo.h:4296:31: note: ‘<anonymous>’ declared here > 4296 | *__result = __unary_op(*__first); > | ~~~~~~~~~~^~~~~~~~~~ > [381/534] Building CXX object > src/arrow/compute/kernels/CMakeFiles/arrow-compute-aggregate-test.dir/hash_aggregate_test.cc.o > In file included from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/kernel.h:32, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/function.h:27, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/api_aggregate.h:23, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/kernels/hash_aggregate_test.cc:31: > In constructor > ‘arrow::compute::ExecBatch::ExecBatch(arrow::compute::ExecBatch&&)’, > inlined from ‘arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>’ > at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/kernels/hash_aggregate_test.cc:155:77, > inlined from ‘_OIter std::transform(_IIter, _IIter, _OIter, > _UnaryOperation) [with _IIter = > std::move_iterator<__gnu_cxx::__normal_iterator<std::optional<arrow::compute::ExecBatch>*, > std::vector<std::optional<arrow::compute::ExecBatch>, > std::allocator<std::optional<arrow::compute::ExecBatch> > > > >; _OIter = > std::back_insert_iterator<std::vector<arrow::compute::ExecBatch> >; > _UnaryOperation = arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>]’ > at /usr/include/c++/11/bits/stl_algo.h:4296:12, > inlined from ‘std::vector<To> arrow::internal::MapVector(Fn&&, > std::vector<_ValT>&&) [with Fn = > arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>; > From = std::optional<arrow::compute::ExecBatch>; To = > arrow::compute::ExecBatch]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/vector.h:102:17, > inlined from ‘arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/kernels/hash_aggregate_test.cc:154:48, > inlined from ‘typename std::enable_if<(((! > std::is_void<ContinueResult>::value) && (! > arrow::detail::is_future<ContinueResult>::value)) && ((! > NextFuture::is_empty) || std::is_same<ContinueResult, > arrow::Status>::value))>::type > arrow::detail::ContinueFuture::operator()(NextFuture, ContinueFunc&&, Args&& > ...) const [with ContinueFunc = > arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>; Args = {}; ContinueResult = > arrow::Result<std::vector<arrow::compute::ExecBatch> >; NextFuture = > arrow::Future<std::vector<arrow::compute::ExecBatch> >]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:150:22, > inlined from ‘void > arrow::detail::ContinueFuture::IgnoringArgsIf(std::true_type, NextFuture&&, > ContinueFunc&&, Args&& ...) const [with ContinueFunc = > arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>; NextFuture = > arrow::Future<std::vector<arrow::compute::ExecBatch> >; Args = {const > arrow::internal::Empty&}]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:188:15, > inlined from ‘void arrow::Future<T>::ThenOnComplete<OnSuccess, > OnFailure>::operator()(const arrow::Result<T>&) && [with OnSuccess = > arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>; OnFailure = > arrow::Future<>::PassthruOnFailure<arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()> >; T = arrow::internal::Empty]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:545:39, > inlined from ‘void > arrow::Future<T>::WrapResultyOnComplete::Callback<OnComplete>::operator()(const > arrow::FutureImpl&) && [with OnComplete = > arrow::Future<>::ThenOnComplete<arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>, > arrow::Future<>::PassthruOnFailure<arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()> > >; T = arrow::internal::Empty]’ > at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:442:31, > inlined from ‘R arrow::internal::FnOnce<R(A ...)>::FnImpl<Fn>::invoke(A&& > ...) [with Fn = > arrow::Future<>::WrapResultyOnComplete::Callback<arrow::Future<>::ThenOnComplete<arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>, > arrow::Future<>::PassthruOnFailure<arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()> > > >; R = void; A = {const > arrow::FutureImpl&}]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/functional.h:152:56: > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec.h:179:21: > warning: ‘*(arrow::compute::ExecBatch*)((char*)&<unnamed> + > offsetof(std::optional<arrow::compute::ExecBatch>,std::optional<arrow::compute::ExecBatch>::<unnamed>.std::_Optional_base<arrow::compute::ExecBatch, > false, false>::<unnamed>)).arrow::compute::ExecBatch::length’ may be used > uninitialized [-Wmaybe-uninitialized] > 179 | struct ARROW_EXPORT ExecBatch { > | ^~~~~~~~~ > In file included from /usr/include/c++/11/functional:65, > from /usr/include/gtest/gtest-printers.h:103, > from /usr/include/gtest/gtest-matchers.h:44, > from > /usr/include/gtest/internal/gtest-death-test-internal.h:39, > from /usr/include/gtest/gtest-death-test.h:41, > from /usr/include/gtest/gtest.h:64, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/kernels/hash_aggregate_test.cc:18: > /usr/include/c++/11/bits/stl_algo.h: In member function ‘R > arrow::internal::FnOnce<R(A ...)>::FnImpl<Fn>::invoke(A&& ...) [with Fn = > arrow::Future<>::WrapResultyOnComplete::Callback<arrow::Future<>::ThenOnComplete<arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()>, > arrow::Future<>::PassthruOnFailure<arrow::compute::{anonymous}::GroupByUsingExecPlan(const > arrow::compute::BatchesWithSchema&, const > std::vector<std::__cxx11::basic_string<char> >&, const > std::vector<arrow::compute::Aggregate>&, bool, > arrow::compute::ExecContext*)::<lambda()> > > >; R = void; A = {const > arrow::FutureImpl&}]’: > /usr/include/c++/11/bits/stl_algo.h:4296:31: note: ‘<anonymous>’ declared here > 4296 | *__result = __unary_op(*__first); > | ~~~~~~~~~~^~~~~~~~~~ > [466/534] Building CXX object > src/arrow/dataset/CMakeFiles/arrow-dataset-scanner-test.dir/scanner_test.cc.o > In file included from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/kernel.h:32, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/function.h:27, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/api_aggregate.h:23, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec/options.h:26, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/dataset/scanner.h:29, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/dataset/scanner_test.cc:18: > In constructor > ‘arrow::compute::ExecBatch::ExecBatch(arrow::compute::ExecBatch&&)’, > inlined from > ‘arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>’ > at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/dataset/scanner_test.cc:2160:84, > inlined from ‘_OIter std::transform(_IIter, _IIter, _OIter, > _UnaryOperation) [with _IIter = > std::move_iterator<__gnu_cxx::__normal_iterator<std::optional<arrow::compute::ExecBatch>*, > std::vector<std::optional<arrow::compute::ExecBatch>, > std::allocator<std::optional<arrow::compute::ExecBatch> > > > >; _OIter = > std::back_insert_iterator<std::vector<arrow::compute::ExecBatch> >; > _UnaryOperation = > arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>]’ > at /usr/include/c++/11/bits/stl_algo.h:4296:12, > inlined from ‘std::vector<To> arrow::internal::MapVector(Fn&&, > std::vector<_ValT>&&) [with Fn = > arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>::<lambda(std::optional<arrow::compute::ExecBatch>)>; > From = std::optional<arrow::compute::ExecBatch>; To = > arrow::compute::ExecBatch]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/vector.h:102:17, > inlined from ‘arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>’ > at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/dataset/scanner_test.cc:2159:46, > inlined from ‘typename std::enable_if<(((! > std::is_void<ContinueResult>::value) && (! > arrow::detail::is_future<ContinueResult>::value)) && ((! > NextFuture::is_empty) || std::is_same<ContinueResult, > arrow::Status>::value))>::type > arrow::detail::ContinueFuture::operator()(NextFuture, ContinueFunc&&, Args&& > ...) const [with ContinueFunc = > arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>; Args = {}; > ContinueResult = arrow::Result<std::vector<arrow::compute::ExecBatch> >; > NextFuture = arrow::Future<std::vector<arrow::compute::ExecBatch> >]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:150:22, > inlined from ‘void > arrow::detail::ContinueFuture::IgnoringArgsIf(std::true_type, NextFuture&&, > ContinueFunc&&, Args&& ...) const [with ContinueFunc = > arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>; NextFuture = > arrow::Future<std::vector<arrow::compute::ExecBatch> >; Args = {const > arrow::internal::Empty&}]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:188:15, > inlined from ‘void arrow::Future<T>::ThenOnComplete<OnSuccess, > OnFailure>::operator()(const arrow::Result<T>&) && [with OnSuccess = > arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>; OnFailure = > arrow::Future<>::PassthruOnFailure<arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()> > >; T = arrow::internal::Empty]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:545:39, > inlined from ‘void > arrow::Future<T>::WrapResultyOnComplete::Callback<OnComplete>::operator()(const > arrow::FutureImpl&) && [with OnComplete = > arrow::Future<>::ThenOnComplete<arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>, > > arrow::Future<>::PassthruOnFailure<arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()> > > >; T = arrow::internal::Empty]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/future.h:442:31, > inlined from ‘R arrow::internal::FnOnce<R(A ...)>::FnImpl<Fn>::invoke(A&& > ...) [with Fn = > arrow::Future<>::WrapResultyOnComplete::Callback<arrow::Future<>::ThenOnComplete<arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>, > > arrow::Future<>::PassthruOnFailure<arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()> > > > >; R = void; A = {const arrow::FutureImpl&}]’ at > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/util/functional.h:152:56: > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/compute/exec.h:179:21: > warning: ‘*(arrow::compute::ExecBatch*)((char*)&<unnamed> + > offsetof(std::optional<arrow::compute::ExecBatch>,std::optional<arrow::compute::ExecBatch>::<unnamed>.std::_Optional_base<arrow::compute::ExecBatch, > false, false>::<unnamed>)).arrow::compute::ExecBatch::length’ may be used > uninitialized [-Wmaybe-uninitialized] > 179 | struct ARROW_EXPORT ExecBatch { > | ^~~~~~~~~ > In file included from /usr/include/c++/11/functional:65, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/dataset/scanner.h:22, > from > /mnt/user1/tscontract/github/rtpsw/arrow/cpp/src/arrow/dataset/scanner_test.cc:18: > /usr/include/c++/11/bits/stl_algo.h: In member function ‘R > arrow::internal::FnOnce<R(A ...)>::FnImpl<Fn>::invoke(A&& ...) [with Fn = > arrow::Future<>::WrapResultyOnComplete::Callback<arrow::Future<>::ThenOnComplete<arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()>, > > arrow::Future<>::PassthruOnFailure<arrow::dataset::{anonymous}::TestPlan::Run()::<lambda()> > > > >; R = void; A = {const arrow::FutureImpl&}]’: > /usr/include/c++/11/bits/stl_algo.h:4296:31: note: ‘<anonymous>’ declared here > 4296 | *__result = __unary_op(*__first); > | ~~~~~~~~~~^~~~~~~~~~ > [534/534] Linking CXX executable release/parquet-schema-test {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)