id summary reporter owner description type status milestone component version severity resolution keywords cc 2649 iterator_range's assignment fires an assert when rhs is singular eyal.farago@… Neil Groves "the following code will raise an assertion in debug builds: {{{ typedef boost::iterator_range str_range_t; std::string eyal(""eyal""); str_range_t eyal_range( eyal ), empty_range; //here it is... eyal_range = empty_range; }}} the reason for the assert is an assert in iterator_range's begin/end methods, the assignment operator is doing something like {{{ this->m_begin = rhs.begin() }}} which fails for debug builds when rhs is singular. a lot has been said about the decision to remove the singular member/concept from the library code, but I believe that assigning a singular range '''should not''' raise an assert. ps. I stumbled upon this bug after upgrading from 1.34 to 1.36, ""I think this is a really nasty one because: [[BR]] 1. it denies me from using a very standard use case.[[BR]] 2. it simply crashes in release builds.[[BR]] 3. a massive behavior change for singular ranges which used to behave like empty ranges. while I agree that using iterators of a singular range is a bad idea, querying for its length is not.[[BR]] eyal. " Bugs closed Boost 1.43.0 range Boost 1.36.0 Regression fixed iterator_range eyal.farago@…