]> git.lizzy.rs Git - rust.git/commit
Make iter::order functions into methods on Iterator
authorSteven Fackler <sfackler@gmail.com>
Mon, 24 Aug 2015 04:59:07 +0000 (21:59 -0700)
committerSteven Fackler <sfackler@gmail.com>
Thu, 27 Aug 2015 06:23:57 +0000 (23:23 -0700)
commit651c42f11f6870dd2c23a1b33fed9ddefd043b76
tree80884384f083c5f4118068944d3168bf86ae0a0b
parent63ba780fd7ab506bfd0f92d34a39172b412cfbe1
Make iter::order functions into methods on Iterator

This does cause some breakage due to deficiencies in resolve -
`path::Components` is both an `Iterator` and implements `Eq`, `Ord`,
etc. If one calls e.g. `partial_cmp` on a `Components` and passes a
`&Components` intending to target the `PartialOrd` impl, the compiler
will select the `partial_cmp` from `Iterator` and then error out. I
doubt anyone will run into breakage from `Components` specifically, but
we should see if there are third party types that will run into issues.

`iter::order::equals` wasn't moved to `Iterator` since it's exactly the
same as `iter::order::eq` but with an `Eq` instead of `PartialEq` bound,
which doensn't seem very useful.

I also updated `le`, `gt`, etc to use `partial_cmp` which lets us drop
the extra `PartialEq` bound.

cc #27737
src/libcollections/btree/map.rs
src/libcollections/linked_list.rs
src/libcollections/vec_deque.rs
src/libcore/iter.rs
src/libcore/num/flt2dec/bignum.rs
src/libcore/slice.rs
src/libstd/path.rs