clang8 failure: no matching function for call to object of type 'folly::detail::Overload
yurivict opened this issue · 4 comments
yurivict commented
In file included from /usr/local/include/boost/variant/apply_visitor.hpp:16:
/usr/local/include/boost/variant/detail/apply_visitor_unary.hpp:98:33: error: no matching function for call to object of type 'folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:67:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:72:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:77:9)>'
typedef decltype(true ? boost::declval< Visitor& >()( boost::declval< value_t >() )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/variant/detail/apply_visitor_unary.hpp:108:22: note: in instantiation of template class 'boost::detail::variant::result_multideduce1<folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:67:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:72:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:77:9)>, boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> >::deduce_impl<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<4>, fizz::AppWrite, boost::mpl::l_item<mpl_::long_<3>, fizz::EarlyAppWrite, boost::mpl::l_item<mpl_::long_<2>, fizz::AppClose, boost::mpl::l_item<mpl_::long_<1>, fizz::WriteNewSessionTicket, boost::mpl::l_end> > > > >, void>' requested here
typedef typename deduce_impl<begin_it>::type type;
^
/usr/local/include/boost/variant/detail/apply_visitor_unary.hpp:114:22: note: in instantiation of template class 'boost::detail::variant::result_multideduce1<folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:67:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:72:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:77:9)>, boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> >' requested here
typedef typename result_multideduce1<Visitor, Variant>::type result_type;
^
/usr/local/include/boost/variant/detail/apply_visitor_unary.hpp:135:98: note: in instantiation of template class 'boost::detail::variant::result_wrapper1<folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:67:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:72:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:77:9)>, boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> >' requested here
boost::detail::variant::result_wrapper1<Visitor, typename remove_reference<Visitable>::type> cpp14_vis(::boost::forward<Visitor>(visitor));
^
/usr/local/include/folly/Overload.h:75:10: note: in instantiation of function template specialization 'boost::apply_visitor<folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:67:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:72:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:77:9)>, boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> &>' requested here
return apply_visitor(
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:65:12: note: in instantiation of function template specialization 'folly::variant_match<boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> &, (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:67:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:72:9), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:77:9)>' requested here
folly::variant_match(
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/client/AsyncFizzClient-inl.h:341:15: note: in instantiation of member function 'fizz::FizzBase<fizz::client::FizzClient<fizz::client::AsyncFizzClientT<fizz::client::ClientStateMachine>::ActionMoveVisitor, fizz::client::ClientStateMachine>, fizz::client::AsyncFizzClientT<fizz::client::ClientStateMachine>::ActionMoveVisitor, fizz::client::ClientStateMachine>::moveToErrorState' requested here
fizzClient_.moveToErrorState(ex);
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/client/AsyncFizzClient-inl.h:66:5: note: in instantiation of member function 'fizz::client::AsyncFizzClientT<fizz::client::ClientStateMachine>::deliverAllErrors' requested here
deliverAllErrors(ase, false);
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/test/HandshakeTest.cpp:182:14: note: in instantiation of member function 'fizz::client::AsyncFizzClientT<fizz::client::ClientStateMachine>::connect' requested here
client_->connect(
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:67:9: note: candidate function not viable: expects an l-value for 1st argument
[&ex](AppWrite& write) {
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:72:9: note: candidate function not viable: no known conversion from 'fizz::AppWrite' to 'fizz::EarlyAppWrite &' for 1st argument
[&ex](EarlyAppWrite& write) {
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:77:9: note: candidate function [with $0 = fizz::AppWrite] not viable: expects an l-value for 1st argument
[](auto&) {});
^
In file included from /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/test/HandshakeTest.cpp:12:
In file included from /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/client/AsyncFizzClient.h:11:
In file included from /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/client/ClientExtensions.h:11:
In file included from /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/record/Types.h:11:
In file included from /usr/local/include/boost/variant.hpp:17:
In file included from /usr/local/include/boost/variant/variant.hpp:34:
In file included from /usr/local/include/boost/variant/detail/hash_variant.hpp:22:
In file included from /usr/local/include/boost/variant/apply_visitor.hpp:16:
/usr/local/include/boost/variant/detail/apply_visitor_unary.hpp:98:33: error: no matching function for call to object of type 'folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:149:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:153:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:156:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:159:11)>'
typedef decltype(true ? boost::declval< Visitor& >()( boost::declval< value_t >() )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/variant/detail/apply_visitor_unary.hpp:108:22: note: in instantiation of template class 'boost::detail::variant::result_multideduce1<folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:149:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:153:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:156:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:159:11)>, boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> >::deduce_impl<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<4>, fizz::AppWrite, boost::mpl::l_item<mpl_::long_<3>, fizz::EarlyAppWrite, boost::mpl::l_item<mpl_::long_<2>, fizz::AppClose, boost::mpl::l_item<mpl_::long_<1>, fizz::WriteNewSessionTicket, boost::mpl::l_end> > > > >, void>' requested here
typedef typename deduce_impl<begin_it>::type type;
^
/usr/local/include/boost/variant/detail/apply_visitor_unary.hpp:114:22: note: in instantiation of template class 'boost::detail::variant::result_multideduce1<folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:149:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:153:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:156:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:159:11)>, boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> >' requested here
typedef typename result_multideduce1<Visitor, Variant>::type result_type;
^
/usr/local/include/boost/variant/detail/apply_visitor_unary.hpp:135:98: note: in instantiation of template class 'boost::detail::variant::result_wrapper1<folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:149:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:153:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:156:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:159:11)>, boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> >' requested here
boost::detail::variant::result_wrapper1<Visitor, typename remove_reference<Visitable>::type> cpp14_vis(::boost::forward<Visitor>(visitor));
^
/usr/local/include/folly/Overload.h:75:10: note: in instantiation of function template specialization 'boost::apply_visitor<folly::detail::Overload<(lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:149:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:153:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:156:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:159:11)>, boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> &>' requested here
return apply_visitor(
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:147:14: note: in instantiation of function template specialization 'folly::variant_match<boost::variant<fizz::AppWrite, fizz::EarlyAppWrite, fizz::AppClose, fizz::WriteNewSessionTicket> &, (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:149:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:153:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:156:11), (lambda at /usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:159:11)>' requested here
folly::variant_match(
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:111:3: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
processPendingEvents();
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/client/FizzClient-inl.h:60:9: note: in instantiation of member function 'fizz::FizzBase<fizz::client::FizzClient<fizz::client::AsyncFizzClientT<fizz::client::ClientStateMachine>::ActionMoveVisitor, fizz::client::ClientStateMachine>, fizz::client::AsyncFizzClientT<fizz::client::ClientStateMachine>::ActionMoveVisitor, fizz::client::ClientStateMachine>::processActions' requested here
this->processActions(std::move(actions));
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/protocol/FizzBase-inl.h:123:32: note: in instantiation of member function 'fizz::client::FizzClient<fizz::client::AsyncFizzClientT<fizz::client::ClientStateMachine>::ActionMoveVisitor, fizz::client::ClientStateMachine>::startActions' requested here
static_cast<Derived*>(this)->startActions(std::move(actions));
^
/usr/ports/security/fizz/work/fizz-2019.06.10.00/fizz/client/FizzClient-inl.h:19:9: note: in instantiation of member function 'fizz::FizzBase<fizz::client::FizzClient<fizz::client::AsyncFizzClientT<fizz::client::ClientStateMachine>::ActionMoveVisitor, fizz::client::ClientStateMachine>, fizz::client::AsyncFizzClientT<fizz::client::ClientStateMachine>::ActionMoveVisitor, fizz::client::ClientStateMachine>::addProcessingActions' requested here
this->addProcessingActions(this->machine_.processConnect(
^
boost-libs-1.70.0_1
FreeBSD 12
reanimus commented
Looks similar to #25 and we know Boost 1.70 broke lvalue visitors which we use in fizz. Try applying the patch to boost or using 1.69?
yurivict commented
Try applying the patch to boost or using 1.69?
I am trying to create the FreeBSD port for fuzzy. The boost version is fixed, I can't roll it back or patch. Boost is installed from the package boost-libs-1.70.0
.
reanimus commented
Ah, you'll have to wait until boost releases the fix as part of a new release and FreeBSD packages it, I guess. That version of boost is known to be incompatible with Fizz.