[bugfix] Explicitly call std::fill instead or relying on ADL
Here we used an unqualified fill(it, end, 0). Because there's no global
fill(...) and because the iterators are always from an std::vector
the std::fill function is found via ADL. Since this is not meant to be
a customization point and we really want to call std::fill, beeing explicit
is better than implicit. This is less error prone, more readable, and more
consistent with all the other cases where we explicitly call std::* algorithms.