On Fri, 2024-08-09 at 12:28 -0700, Andrii Nakryiko wrote: [...] > I'm not sure I follow your question. Drained or not it's still a valid > iterator state. E.g. make sure that some such functions might be called only after a call to next() that returned a value. > I don't want to put any restrictions, the user is free > to pass it at any point between new and destroy. Ok, as you say. [...]