I was just getting ready to propose a new config macro called BOOST_ARG_DEPENDENT_TYPENAME based on this test:
struct id { typedef int type; }; template <class T> struct foo; template <class T> void f(T) { typedef foo<typename T::type> y; } int main() { f(id()); return 0; } But it turns out that this test is very similar to the one for BOOST_DEDUCED_TYPENAME, and in fact it finds the same compiler (VC6). So I guess the question is, do we currently have the right name for the test and macro? VC6 will support typename on template arguments in some contexts: struct id { typedef int type; }; template <class T> void f(T) { typedef typename T::type x; } int main() { f(id()); return 0; } But then, it also works if you leave the typename off altogether. Not sure what to do about this one, Dave -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost