diff --git a/src/vec/tests.rs b/src/vec/tests.rs index 6d9184f6..a404f8ae 100644 --- a/src/vec/tests.rs +++ b/src/vec/tests.rs @@ -79,3 +79,19 @@ fn misc() { assert_eq!(!bitvec![0, 1], bits![1, 0]); } + +#[test] +fn bitvec_order() { + let k = bitvec![0, 1, 0, 1]; + let r = bitvec![1, 0, 0, 0]; + let k_slice = &k[..]; + let r_slice = &r[..]; + assert!(r > k); + assert!(k < r); + assert!(r_slice > k_slice); + assert!(k_slice < r_slice); + assert!(r_slice > k); + assert!(k < r_slice); + assert!(k_slice < r); + assert!(r > k_slice); +} diff --git a/src/vec/traits.rs b/src/vec/traits.rs index 55d1d3b5..ec935b0a 100644 --- a/src/vec/traits.rs +++ b/src/vec/traits.rs @@ -198,7 +198,7 @@ where { #[inline] fn partial_cmp(&self, other: &Rhs) -> Option { - other.partial_cmp(self.as_bitslice()) + other.partial_cmp(self.as_bitslice()).map(|o| o.reverse()) } }