|
Boost Users : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2005-03-02 16:38:52
Eric Niebler wrote:
>
> Sounds like the problem is not in STL but in GCC's implementation of
> ADL, which is finding class names. In this case, the collision isn't
> in STL, it is a collision of end() from Boost.Range and end<> from
> MPL. Changing the STL implementation will *not* fix this problem. My
> understanding of ADL is that it should be used to locate *function*
> overloads. It is meaningless to find class names using ADL. Until
> gcc's rules for ADL are fixed, this problem will persist.
Apparently their position is that argument-dependent lookup should apply to
names, just like ordinary lookup does. Sounds nice in theory, but brings no
benefits and causes a lot of problems in practice.
http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_active.html#218
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net