
"Peder Holt" <peder.holt@gmail.com> writes:
It turns out that BOOST_TYPEOF_NESTED_TYPEDEF has a problem when used inside functions on VC8.0 (possibly other compilers as well) This is because BOOST_TYPEOF_NESTED_TYPEDEF internally defines a member template:
struct a { template<typename T> struct b{ }; };
VC8.0 doesn't handle this (error C2892: local class shall not have member templates)
It is possible to avoid this problem, but this would cripple BOOST_TYPEOF_NESTED_TYPEDEF because it would reintroduce the BOOST_TYPEOF_LIMIT_SIZE limitation on the expression complexity.
The alternative is to disallow NESTED_TYPEDEF inside functions, and write a note on this in the docs. Is this acceptable?
Didn't I post a syntax during the review that avoids the need for this macro? -- Dave Abrahams Boost Consulting www.boost-consulting.com