Hello using gcc 4.4 with -std=c++0x and libstdc++ off the trunk, I get several errors on old code. When calling next(X) with a user defined class type X, adl does not seem to prefer the next function defined in the namespace of X.
Testcase from boost: http://www.boost.org/development/tests/trunk/developer/output/Sandia-gcc-boost-bin-v2-libs-fusion-test-cons-test-gcc-4-4-0_gnu++0x-debug-sequence.html changing the types of the second arguments of std::next/std::prev from typename iterator_traits<Iterator>::difference_type to typename Iterator::difference_type (as proposed in 24.4p4) does work. I assume this is a bug. -- Summary: invalid std::next / std::prev declaration Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: e28773 at bsnow dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40497