The recent changes to the _GLIBCXX_CONCEPT_CHECKS checks for forward iterators don't work for vector iterators in debug mode, because the _Safe_iterator specializations don't match the special cases I added for _Bit_iterator and _Bit_const_iterator. This refactors the _ForwardIteratorReferenceConcept class template to identify vector iterators using a new trait, which also works for debug iterators. libstdc++-v3/ChangeLog: * include/bits/boost_concept_check.h (_Is_vector_bool_iterator): New trait to identify vector iterators, including debug ones. (_ForwardIteratorReferenceConcept): Add default template argument using _Is_vector_bool_iterator and use it in partial specialization for the vector cases. (_Mutable_ForwardIteratorReferenceConcept): Likewise. * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error line number. Tested x86_64-linux. Committed to trunk.