[Boost-bugs] [Boost C++ Libraries] #4577: invoke() uses invalid boost::result_of<>

Subject: [Boost-bugs] [Boost C++ Libraries] #4577: invoke() uses invalid boost::result_of<>
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-08-20 12:22:21


#4577: invoke() uses invalid boost::result_of<>
-------------------------------------+--------------------------------------
 Reporter: anonymous | Owner: djowel
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: fusion
  Version: Boost Development Trunk | Severity: Problem
 Keywords: |
-------------------------------------+--------------------------------------
 {{{
 struct F{
   template<typename Sig>
   struct result;
 };

 vector<int> const vec(5);
 invoke(F(),vec); // (1)

 int t(int i){ return i; }
 invoke(F(),transform(vec,&t)); // (2)

 }}}

 (1) uses F::result<F(int const &)>, while (2) uses F::result<F(int)>.
 I believe it should be (1) in both cases.

 attaching test case and patch, which converts each argument type using
 fusion::detail::call_param

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4577>
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:04 UTC