diff --git a/src/syncback/hash/variant.rs b/src/syncback/hash/variant.rs index 4e32bc33..3457beac 100644 --- a/src/syncback/hash/variant.rs +++ b/src/syncback/hash/variant.rs @@ -85,6 +85,10 @@ pub fn hash_variant(hasher: &mut Hasher, value: &Variant) { hash!(hasher, s.as_bytes()) } Variant::Enum(e) => n_hash!(hasher, e.to_u32()), + Variant::EnumItem(e) => { + hash!(hasher, e.ty.as_bytes()); + n_hash!(hasher, e.value); + } Variant::Faces(f) => hash!(hasher, &[f.bits()]), Variant::Float32(n) => n_hash!(hasher, round!(*n)), Variant::Float64(n) => n_hash!(hasher, round!(n)), diff --git a/src/variant_eq.rs b/src/variant_eq.rs index 0a4c058d..ae3ca20d 100644 --- a/src/variant_eq.rs +++ b/src/variant_eq.rs @@ -71,6 +71,7 @@ pub fn variant_eq(variant_a: &Variant, variant_b: &Variant) -> bool { (Variant::Content(a), Variant::Content(b)) => a == b, (Variant::ContentId(a), Variant::ContentId(b)) => a == b, (Variant::Enum(a), Variant::Enum(b)) => a == b, + (Variant::EnumItem(a), Variant::EnumItem(b)) => a == b, (Variant::Faces(a), Variant::Faces(b)) => a == b, (Variant::Float32(a), Variant::Float32(b)) => approx_eq!(f32, *a, *b), (Variant::Float64(a), Variant::Float64(b)) => approx_eq!(f64, *a, *b),