From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5192 invoked by alias); 4 Apr 2009 03:46:11 -0000 Received: (qmail 4683 invoked by alias); 4 Apr 2009 03:45:56 -0000 Date: Sat, 04 Apr 2009 03:46:00 -0000 Message-ID: <20090404034556.4682.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/25185] deep typedef substitution in error message In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jason at redhat dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-04/txt/msg00264.txt.bz2 ------- 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::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::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::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