Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5645: Problem passing lambda functor to boost::bind - code does not compile
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-02-19 18:42:29
#5645: Problem passing lambda functor to boost::bind - code does not compile
-------------------------------+--------------------------------------------
Reporter: anonymous | Owner: pdimov
Type: Bugs | Status: new
Milestone: To Be Determined | Component: bind
Version: Boost 1.45.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+--------------------------------------------
Comment (by anonymous):
Compiler: g++ (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
Error message:
{{{
In file included from /path/to/boost/include/boost/bind.hpp:22,
from test.cc:3:
/path/to/boost/include/boost/bind/bind.hpp: In instantiation of
âboost::_bi::result_traits<boost::_bi::unspecified,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::comma_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<2>
>,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<int&>
>, boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > > >â:
/path/to/boost/include/boost/bind/bind_template.hpp:15: instantiated
from âboost::_bi::bind_t<boost::_bi::unspecified,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::comma_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<2>
>,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<int&>
>, boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::_bi::list2<boost::arg<1>, boost::arg<4> > >â
test.cc:44: instantiated from here
/path/to/boost/include/boost/bind/bind.hpp:69: error: no type named
âresult_typeâ in âclass
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::comma_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<2>
>,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<int&>
>, boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >â
In file included from
/path/to/boost/include/boost/function/detail/maybe_include.hpp:33,
from
/path/to/boost/include/boost/function/detail/function_iterate.hpp:14,
from
/path/to/boost/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:67,
from /path/to/boost/include/boost/function.hpp:64,
from test.cc:4:
/path/to/boost/include/boost/function/function_template.hpp: In static
member function âstatic void
boost::detail::function::void_function_obj_invoker4<FunctionObj, R, T0,
T1, T2, T3>::invoke(boost::detail::function::function_buffer&, T0, T1, T2,
T3) [with FunctionObj = boost::_bi::bind_t<boost::_bi::unspecified,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::comma_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<2>
>,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<int&>
>, boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::_bi::list2<boost::arg<1>, boost::arg<4> > >, R = void, T0 = int, T1
= int, T2 = int, T3 = int]â:
/path/to/boost/include/boost/function/function_template.hpp:913:
instantiated from âvoid boost::function4<R, T1, T2, T3,
T4>::assign_to(Functor) [with Functor =
boost::_bi::bind_t<boost::_bi::unspecified,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::comma_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<2>
>,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<int&>
>, boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::_bi::list2<boost::arg<1>, boost::arg<4> > >, R = void, T0 = int, T1
= int, T2 = int, T3 = int]â
/path/to/boost/include/boost/function/function_template.hpp:722:
instantiated from âboost::function4<R, T1, T2, T3, T4>::function4(Functor,
typename boost::enable_if_c<boost::type_traits::ice_not::value,
int>::type) [with Functor = boost::_bi::bind_t<boost::_bi::unspecified,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::comma_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<2>
>,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<int&>
>, boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::_bi::list2<boost::arg<1>, boost::arg<4> > >, R = void, T0 = int, T1
= int, T2 = int, T3 = int]â
/path/to/boost/include/boost/function/function_template.hpp:1064:
instantiated from âboost::function<R(T0, T1, T2, T3)>::function(Functor,
typename boost::enable_if_c<boost::type_traits::ice_not::value,
int>::type) [with Functor = boost::_bi::bind_t<boost::_bi::unspecified,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::comma_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<2>
>,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<int&>
>, boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::_bi::list2<boost::arg<1>, boost::arg<4> > >, R = void, T0 = int, T1
= int, T2 = int, T3 = int]â
/path/to/boost/include/boost/function/function_template.hpp:1105:
instantiated from âtypename
boost::enable_if_c<boost::type_traits::ice_not::value,
boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2,
T3)>::operator=(Functor) [with Functor =
boost::_bi::bind_t<boost::_bi::unspecified,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::comma_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<2>
>,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<int&>
>, boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::_bi::list2<boost::arg<1>, boost::arg<4> > >, R = void, T0 = int, T1
= int, T2 = int, T3 = int]â
test.cc:44: instantiated from here
/path/to/boost/include/boost/function/function_template.hpp:153: error: no
match for call to â(boost::_bi::bind_t<boost::_bi::unspecified,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::comma_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<2>
>,
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<int&>
>, boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::_bi::list2<boost::arg<1>, boost::arg<4> > >) (int&, int&, int&,
int&)â
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5645#comment:2> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:12 UTC