http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51560
Bug #: 51560 Summary: std::set<T>::cbegin()/cend() etc. return iterator instead of const_iterator Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: carsten_neum...@gmx.net Created attachment 26096 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26096 Trivial (untested) patch The return type of the member functions cbegin,cend,crbegin,crend for std::set and std::multiset are wrong, they should be const_iterator/const_reverse_iterator respectively. Attaching the trivial patch (untested). I don't have copyright assignment, but since the patch is trivial and only changes a few lines I'm hoping it's not needed.