------- Comment #21 from jason at redhat dot com 2009-04-04 03:45 ------- Subject: Re: deep typedef substitution in error message
dave at boostpro dot com wrote: > Well, I find that a little confusing. Why is it explaining to me what > > typename boost::result_of<CalcSize()>::type > > is? I don't see that type anywhere else in there. A bug that I've already fixed. > Also, I'm not thrilled that > > boost::sequence::detail::range_maker<Elements, Begin, End, CalcSize>::type > > is still present in the signature, even if it's explained below. > Carried to an extreme, you get EDG's nasty nested > > ={...={...={...}}} > > type descriptions. Do you need to do that? Why not just spell out the > return type? Because that's the return type specified in the declaration. The alternative would be for it to say boost::sequence::range_::range<Elements, Begin, End, typename boost::result_of<CalcSize()>::type> like it used to; do you prefer that? It seemed to me that we might as well just print the typedef in the signature and give the fully instantiated type in the bindings list rather than give a still-dependent type in the signature and explain any component typenames in the bindings list, but I don't feel strongly about that. Jason -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25185