[Bug c++/25185] deep typedef substitution in error message
jason at redhat dot com
gcc-bugzilla@gcc.gnu.org
Sat Apr 4 03:46:00 GMT 2009
------- 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
More information about the Gcc-bugs
mailing list