[ConceptGCC] |
ConceptGCC :Change to associated type name lookup |
From: Douglas Gregor (dgregor_at_[hidden])
Date: 2006-07-06 12:13:45
Revision 325 contains a non-trivial change to name lookup for associated
types, to bring ConceptGCC closer to implementing the latest Concepts
proposal (N2042).
Previously, unqualified name lookup could find associated type names in
the where clause and inline requirements. For instance:
template<InputIterator Iter>
void advance(Iter& x, difference_type n);
In this example, "difference_type" finds
"InputIterator<Iter>::difference_type". We found that this was confusing,
so we've eliminated it entirely. Instead, one can write either the long
form:
template<InputIterator Iter>
void advance(Iter& x, InputIterator<Iter>::difference_type n);
Or, when using the "InputIterator Iter" shortcut syntax,
template<InputIterator Iter>
void advance(Iter& x, Iter::difference_type n);
This is a minor change to the compiler but a huge change to the Standard
Library. You'll need to "make && make install" from your top-level
directory to get all of the changes.
Cheers,
Doug