Re: [Boost-bugs] [Boost C++ Libraries] #5645: Problem passing lambda functor to boost::bind - code does not compile

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