If I am compiling HBase native client with folly library, is error in folly:
/usr/local/include/folly/functional/Invoke.h
// mimic: std::invoke_result_t, C++17
template <typename F, typename... Args>
using invoke_result_t = typename invoke_result<F, Args...>::type;
or If I am using -std=c++17 with gcc-8 similar is in file
/usr/include/c++/8/type_traits
error is:
/usr/include/c++/8/type_traits|2670|error: no type named ‘type’ in ‘struct std::invoke_result<hbase::AsyncBatchRpcRetryingCaller<REQ, RESP>::GroupAndSend(const std::vector<std::shared_ptr<hbase::Action> >&, int32_t) [with REQ = std::shared_ptr<hbase::Row>; RESP = std::shared_ptr<hbase::Result>; int32_t = int]::<lambda(std::vector<folly::Try<std::shared_ptr<hbase::RegionLocation> > >&)>, folly::Try<std::vector<folly::Try<std::shared_ptr<hbase::RegionLocation> >, std::allocator<folly::Try<std::shared_ptr<hbase::RegionLocation> > > > >&&>’|
there is many code - where should be type 'type' ?
invoke_result is a metafunction that returns a type. The 'type' member not being defined means that the metafunction cannot determine a type for the template parameters that were passed.