
"Peder Holt" <peder.holt@gmail.com> wrote
What I was trying to say, was that, given that there are no nested classes involved, arbitrarily_complex_metafunction<T>::type will in the end be reduced to arbitrary_complex_type<A0,A1,A2,...>, which is a concrete type which can be deduced. For the typeof library this is sufficient.
On the other hand: template<class T> struct A { class B; }; A<T>::B now should give sufficient information to be deduced.
Please note that, as Peder has mentioned, the language support for typeof is probably going to be in the Standard before any other changes. Therefore, even if the changes related to the non-deduced context may be a valuable addition to the Standard, I don't think this is relevant to the typeof library -- we have to live with what we have... Arkadiy