
Tobias Schwinger wrote:
Hi,
here is how it breaks.
Let's start with the new bug:
1.
typedef int (*func_ptr_0)();
BOOST_STATIC_ASSERT((is_same< result_of<func_ptr_0()>::type, int>::value));
==> Ambiguous template specialization, this one got introduced by Eric's workaround
Yep, you're right. I hope find a fix before I leave for vacation on Monday. If I can't and this is a serious issue for you, feel free to revert the change until I can patch this up.
2.
Although it seems to be the same problem, it's actually a different one (just a typo - see result_of_iterate.patch). This test fails with the RC 1.34 version, too:
typedef int (X::*mem_func_ptr_0)();
BOOST_STATIC_ASSERT((is_same< result_of<mem_func_ptr_0(X)>::type, int>::value));
I'll let Doug comment on this one. -- Eric Niebler Boost Consulting www.boost-consulting.com