It looks like a tuple constructor is choking on implicit conversion from
string literal (char[6]) to boost::optional<std::string>:

That constructor in the 4.8.2 release of GCC requires that parameters be
*convertible* to the corresponding element type (and not just that the
element be constructible from the parameter)

  // static_assert(std::is_convertible<char const[5],
boost::optional<std::string>>::value, "FAILS");
boost::optional<std::string>>::value, "fine");
So I think this can be resolved by wrapping string literal arguments to
tuple constructors with std::string to ensure they are convertible.

I'll create a JIRA

On Thu, Sep 12, 2019 at 8:09 AM Prudhvi Porandla <> wrote:

> Hi,
> Gandiva trusty job(
> is failing
> with this commit (ARROW-6326: [C++] Nullable fields when converting
> std::tuple to Table  <
> >).
> The compilation is successful if the optional string column is removed
> from boost_optional_types_tuple(see line 36 of cpp/src/arrow/
> Could someone help me understand this error?
> Thanks,
> Prudhvi

Reply via email to