Once an iterator is finish
, it become reusable.
Since some arrays are iterated a lot, this avoid most of the
continuous allocation/garbage-collection of the needed iterators.
# An old iterator, free to reuse.
# Once an iterator is `finish`, it become reusable.
# Since some arrays are iterated a lot, this avoid most of the
# continuous allocation/garbage-collection of the needed iterators.
private var free_iterator: nullable ArrayIterator[E] = null
lib/core/collection/array.nit:148,2--152,60