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