[Boost-bugs] [Boost C++ Libraries] #4084: [result_of, tr1] use of decltype in boost::result_of breaks <boost/tr1/functional.hpp>

Subject: [Boost-bugs] [Boost C++ Libraries] #4084: [result_of, tr1] use of decltype in boost::result_of breaks <boost/tr1/functional.hpp>
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-04-11 21:33:19


#4084: [result_of, tr1] use of decltype in boost::result_of breaks
<boost/tr1/functional.hpp>
-------------------------------------+--------------------------------------
 Reporter: eric_niebler | Owner: dlwalker
     Type: Patches | Status: new
Milestone: Boost 1.44.0 | Component: utility
  Version: Boost Development Trunk | Severity: Problem
 Keywords: result_of decltype tr1 |
-------------------------------------+--------------------------------------
 Boost.TR1 is supposed to provide an implementation of TR1's library
 functionality. The change to boost::result_of on truck to use decltype on
 supporting compilers makes Boost.TR1's implementation of
 std::tr1::result_of non-compliant, as evidenced by the recent Boost.TR1
 regression test failures on c++0x toolsets. It also breaks Proto because
 there is a bug in the specification of decltype that causes code that is
 valid with TR1 result_of to break with the c++0x result_of.

 The attached patch fixes the issue with boost::result_of and
 <boost/tr1/functional.hpp>. It adds a new template in
 <boost/utility/result_of.hpp> called tr1_result_of that implements the TR1
 result_of protocol regardless of whether decltype is available or not. It
 also changes <boost/tr1/functional.hpp> to define std::tr1::result_of in
 terms of boost::tr1_result_of.

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