From f3d5b43000f6e9a52a233bf07c295929cce66387 Mon Sep 17 00:00:00 2001 From: Simon Fell Date: Sun, 29 Jan 2023 11:22:03 -0800 Subject: [PATCH] Fix BitVec to BitSlice partial_cmp. Fixes #215 --- src/vec/tests.rs | 16 ++++++++++++++++ src/vec/traits.rs | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) 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()) } }