<div dir="ltr">Hi Mehdi,<div><br></div><div>I've submitted <a href="https://reviews.llvm.org/D86006">https://reviews.llvm.org/D86006</a> and I believe that will be the correct fix for this issue.</div><div>It was likely incorrectly returning the stream by value as a return type coming out of `visit`.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Aug 15, 2020 at 3:29 PM Mehdi AMINI via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">mehdi_amini added a comment.<br>
<br>
I think this change is breaking one of our uses right now:<br>
<br>
  include/c++/v1/variant:599:16: error: call to deleted constructor of 'std::__u::basic_ostream<char>'<br>
          return __invoke_constexpr(<br>
                 ^~~~~~~~~~~~~~~~~~~<br>
  include/c++/v1/variant:618:59: note: in instantiation of function template specialization 'std::__u::__variant_detail::__visitation::__base::__visit_alt_impl(index_sequence<0UL>, std::__u::__variant_detail::__visitation::__variant::__value_visitor<YYY &> &&, const std::__u::__variant_detail::__impl<XXX, ZZZ> &)::(anonymous class)::operator()<std::__u::integral_constant<unsigned long, 1>>' requested here<br>
          _LIBCPP_VARIANT_CASES(_LIBCPP_VARIANT_SWITCH_MAX, _LIBCPP_VARIANT_CASE)<br>
                                                            ^<br>
  include/c++/v1/variant:586:14: note: in instantiation of function template specialization 'std::__u::__variant_detail::__visitation::__base::__visit_alt_impl<0, std::__u::__variant_detail::__visitation::__variant::__value_visitor<YYY &>, const std::__u::__variant_detail::__impl<XXX, ZZZ> &>' requested here<br>
        return __visit_alt_impl(index_sequence_for<_Vs...>{},<br>
               ^<br>
  include/c++/v1/variant:645:20: note: in instantiation of function template specialization 'std::__u::__variant_detail::__visitation::__base::__visit_alt<, std::__u::__variant_detail::__visitation::__variant::__value_visitor<YYY &>, const std::__u::__variant_detail::__impl<XXX, ZZZ> &>' requested here<br>
      return __base::__visit_alt(_VSTD::forward<_Vis>(__vis),<br>
                     ^<br>
  include/c++/v1/variant:662:12: note: in instantiation of function template specialization 'std::__u::__variant_detail::__visitation::__variant::__visit_alt<std::__u::__variant_detail::__visitation::__variant::__value_visitor<YYY &>, const std::__u::variant<XXX, ZZZ> &>' requested here<br>
      return __visit_alt(__make_value_visitor(_VSTD::forward<_Vis>(__vis)),<br>
             ^<br>
  include/c++/v1/variant:1685:21: note: in instantiation of function template specialization 'std::__u::__variant_detail::__visitation::__variant::__visit_value<YYY &, const std::__u::variant<XXX, ZZZ> &>' requested here<br>
    return __variant::__visit_value(_VSTD::forward<_Vis>(__vis),<br>
                      ^<br>
<br>
I don't know if this trace is enough to figure is there is an issue upstream?<br>
<br>
<br>
Repository:<br>
  rG LLVM Github Monorepo<br>
<br>
CHANGES SINCE LAST ACTION<br>
  <a href="https://reviews.llvm.org/D85420/new/" rel="noreferrer" target="_blank">https://reviews.llvm.org/D85420/new/</a><br>
<br>
<a href="https://reviews.llvm.org/D85420" rel="noreferrer" target="_blank">https://reviews.llvm.org/D85420</a><br>
<br>
</blockquote></div>