I Think Iterator::unzip Should be Deprecated
Did you know that ever since 1.79, Iterator::collect does everything unzip does but with a cleaner API? I certainly didn't until recently! Try it out, thanks to this trait implementation, every call to unzip is possible with collect instead.
let (a, b) = iter.unzip::<_, _, Vec<_>, Vec<_>>();
// vs
let (a, b) = iter.collect::<(Vec<_>, Vec<_>)>();
Except collect is better at unzip than unzip, since it supports any tuple, whereas unzip only works with size 2:
let (a, b, c, d) = iter.collect::<(Vec<_>, Vec<_>, Vec<_>, Vec<_>)>();
Looking at the documentation, this isn't explicitly mentioned for either zip or unzip. I suspect this is functionality most people aren't aware of. So, is there anyone out there who has a reason why we shouldn't deprecate unzip?