The specification of std::result_of is simpler than std::tr1::result_of, there
is no mention of a nested typename F::template result<F(T1, T2,..., TN)>::type
in the C++0x WP.

The libstdc++ implementation in tr1_impl follows the TR1 spec and so fails on
code like this:

#include <functional>

struct F {
    int operator()(int i) { return i+1; }
};

std::result_of<F(int)>::type i = 0;

std::result_of should use something like __typeof__ instead.


-- 
           Summary: std::result_of requires nested template
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jwakely dot gcc at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37351

Reply via email to