Rust needs evert(), which turns an iterator over Result of T into a Result of a collection of T or a collection of errors
currently the most ergonomic way to do this is to wrap a whole pipeline in a function boundary and use `?`.
So I understand the type signature she’s asking for is Iter<Result<T, E>> -> Result<Iter<T>, Iter<E>>
This suggestion could really use some use case examples. It sounds sufficiently obscure to me that I wouldn’t complain about having to write my own a function for this
I can see this being useful for parsing. You often want to report all of the parsing errors to the user in one go, so collecting them into a list or iterator is useful.
But yeah, still relatively obscure.
And I’m guessing, “evert” is simply the respective English word: https://en.wiktionary.org/wiki/evert
As a non-native speaker, I didn’t know that word either…
Uh… what?
So I understand the type signature she’s asking for is
Iter<Result<T, E>> -> Result<Iter<T>, Iter<E>>
This suggestion could really use some use case examples. It sounds sufficiently obscure to me that I wouldn’t complain about having to write my own a function for this
Also, where does the name
evert
come from?I can see this being useful for parsing. You often want to report all of the parsing errors to the user in one go, so collecting them into a list or iterator is useful.
But yeah, still relatively obscure.
And I’m guessing, “evert” is simply the respective English word: https://en.wiktionary.org/wiki/evert
As a non-native speaker, I didn’t know that word either…
I’m a native english speaker and I didn’t know that word :o
deleted by creator