From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2002-03-22 18:55:13
Jason Shirk wrote:
> Actually, it can, but only under -Za. The problem is our
> "extension" to not need typename.
> Considering how often I see typename in Boost, I often wonder if
> "nontypename" would have been more appropriate.
IMO a separate flag for the extension is a must.
> At any rate, disabling this "extension" will definitely cause our
> customers headaches.
Actually, for us it's the other way around. Your compiler may allow
programmers to get away with missing typenames, but others don't, and this
means that we are going to have constant troubles because somebody checked
in something that cannot be compiled on another platform. Of course, if we
would be able to disable the extension without affecting anything else, that
would solve the issue.
> I've only seen a few rare cases (like
> this) where we fail to compile legal code because of this.
Hhmm.. are these cases resolvable? If it is so, it would mean that
'typename' qualification of dependent names is unnecessary from
implementation point of view, and we could declare the requirement obsolete
> Is anyone aware of any compelling reason why a construct like this is
> critical? Keep in mind the poor maintenance programmer that is not an
> expert in templates and doesn't have my email address.
With proper diagnostics missing typenames shouldn't be a problem even for a
maintenance programmer - an error would just say this explicitly - "missing
typename in ...".
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk