
(CC'ing Doug, who has the unfortunate distinction of having his name in result_of.hpp.) Has anybody else noticed inexplicable compile failures with MSVC 7.1, and sometimes even MSVC 8.0, when using boost::result_of? It happens with functors that have a nested result<> template, like struct unary { template<typename Sig> struct result; template<typename This, typename Arg> struct result<This(Arg)> { typedef void type; }; ... }; And when instantiating boost::result_of<unary(int)>::type, I'll sometimes get an error like: "struct unary::result<F> is undefined, with F=unary(int)." In some contexts, it seems, MSVC is unable to find the correct partial specialization. The same code will compile fine with GCC. I have yet to find a suitable work-around. As my work relies more and more heavily on result_of, this has become a real pain point for me. I can provide a repro to anybody interested, but it's large so I can't post it here. I haven't found a simple repro yet. -- Eric Niebler Boost Consulting www.boost-consulting.com