rust-itertools / itertools

Extra iterator adaptors, iterator methods, free functions, and macros.
https://docs.rs/itertools/
Apache License 2.0
2.69k stars 303 forks source link

impl a From instead of an Into #836

Closed mightyiam closed 7 months ago

mightyiam commented 8 months ago

https://github.com/rust-itertools/itertools/blob/5a5731c03990449ff212b69a91e310e93500ebe3/src/either_or_both.rs#L503-L511

Philippe-Cholet commented 8 months ago

It originated in #740 (From should be prefered to Into implementation as the first gives the second but it's not true the other way) where I said https://github.com/rust-itertools/itertools/pull/740#discussion_r1444264148

I don't see a point of not doing it so I suggest you convert it to a From implementation in a separate commit.

EDIT: After searching, it originated in #327 and nobody said it should not be From instead.

In #327, there is

A fallible method of converting EitherOrBoth into an Either would be very useful providing exclusive (not including Both variant) methods. Converting should probably wait for https://github.com/rust-lang/rust/issues/33417.

So I guess the question is: Instead of Into<Option<_>>, do we want a TryFrom or a From implementation? I would vote for From (better than Into, no breaking change) over TryFrom (breaking change, what kind of error?).