You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems to be a fair expectation that all_equal_value().is_ok() should agree with all_equal(). But on an empty iterator the former returns false, while the latter returns true.
Can be resolved by keeping the current behaviour of all_equal (which is the mathematical definition whereby on an empty iterator vacuously all items are equal) and changing the return type of all_equal_value to Result<Option<Iter::Item>, (Iter::Item, Iter::Item)>.
The text was updated successfully, but these errors were encountered:
It seems to be a fair expectation that
all_equal_value().is_ok()
should agree withall_equal()
. But on an empty iterator the former returns false, while the latter returns true.Can be resolved by keeping the current behaviour of
all_equal
(which is the mathematical definition whereby on an empty iterator vacuously all items are equal) and changing the return type ofall_equal_value
toResult<Option<Iter::Item>, (Iter::Item, Iter::Item)>
.The text was updated successfully, but these errors were encountered: