diff --git a/include/boost/mpi/nonblocking.hpp b/include/boost/mpi/nonblocking.hpp index a2d2e34..09bc833 100644 --- a/include/boost/mpi/nonblocking.hpp +++ b/include/boost/mpi/nonblocking.hpp @@ -138,10 +138,12 @@ template optional > test_any(ForwardIterator first, ForwardIterator last) { - for (ForwardIterator current = first; first != last; ++first) { + while (first != last) { // Check if we have found a completed request. If so, return it. - if (optional result = current->test()) - return std::make_pair(*result, current); + if (optional result = first->test()) { + return std::make_pair(*result, first); + } + ++first; } // We found nothing