id summary reporter owner description type status milestone component version severity resolution keywords cc 13203 adjacent_filtered lets the first element entry through Tony Lewis Neil Groves "`adjacent_filtered` always lets the first element of the range leak through, even for a predicate that rejects that element as either argument. Eg. {{{ #!cpp int main() { const std::vector a = { 0, 1, 2, 3, 4, 5 }; auto b = a | boost::adaptors::adjacent_filtered( [] (const int &x, const int &y) { return ( ( x > 2 ) && ( y > 2 ) ); } ); for (const auto &x : b) { std::cerr << x << ""\n""; } } }}} …outputs: {{{ 0 4 5 }}} From what I can see in the code, the predicate is currently only applied in the `increment()` function, which leaves it too late for the first element to be checked. " Bugs new To Be Determined range Boost Development Trunk Problem adjacent_filtered,adaptor,range,predicate,leak