From d5b5d473ab9136716a7cba1b6f7aaedeb7eeb2df Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Mon, 26 Aug 2019 09:28:20 -0700 Subject: [PATCH] Add missing comparisons to property item hash & equality impls Fixes the inconsistent failurs of property sheet unit tests --- cli/src/generate/properties.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cli/src/generate/properties.rs b/cli/src/generate/properties.rs index a5532a41..5091eafc 100644 --- a/cli/src/generate/properties.rs +++ b/cli/src/generate/properties.rs @@ -116,6 +116,7 @@ impl<'a> Hash for Item<'a> { fn hash(&self, hasher: &mut H) { hasher.write_u32(self.rule_id); hasher.write_usize(self.selector.0.len()); + hasher.write_u32(self.step_id); for step in &self.selector.0[self.step_id as usize..] { step.hash(hasher); } @@ -124,7 +125,10 @@ impl<'a> Hash for Item<'a> { impl<'a> PartialEq for Item<'a> { fn eq(&self, other: &Self) -> bool { - if self.rule_id != other.rule_id || self.selector.0.len() != other.selector.0.len() { + if self.rule_id != other.rule_id + || self.selector.0.len() != other.selector.0.len() + || self.step_id != other.step_id + { return false; }