Itertools::{kmerge, kmerge_by, tuple_combinations} are neither lazy nor eager. But they must be used since not doing so does almost nothing (and it would be suspicious code to me).
I therefore update the message of the must_use attributes and the laziness tests.
Fixes #791
Itertools::{kmerge, kmerge_by, tuple_combinations}
are neither lazy nor eager. But they must be used since not doing so does almost nothing (and it would be suspicious code to me). I therefore update the message of themust_use
attributes and the laziness tests.Unless we are willing to roughly wrap those in a
LazyInit
type (see https://github.com/rust-itertools/itertools/issues/791#issuecomment-1822364744) that would probably slow down iteration ("Is it initialized?" each timenext
is called), I don't see an alternative.