------- Comment #23 from dave at boostpro dot com 2009-04-06 09:35 ------- Subject: Re: deep typedef substitution in error message
On Apr 3, 2009, at 11:45 PM, jason at redhat dot com wrote: > > >> 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? No, because that contains ">::type" I'd want to see boost::sequence::range_::range<Elements, Begin, End, mpl_::integral_c<unsigned int,5u> > > 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. I'm confused as to why you think you need to give a still-dependent type in the signature -- David Abrahams BoostPro Computing http://boostpro.com -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25185