I thought iterators to borrowed ranges could not dangle! Because of it being a borrowed_range???
The text says
iterators can still dangle when the underlying character sequence is no longer there...
if you have a borrowed iterator that refers to a range, the iterator is safe to use and does not dangle even when the range is destroyed...
The concept borrowed_range defines the requirements of a range such that a function can take it by value and return iterators obtained from it without danger of dangling.