automation_structures/
value_eq.rs1use vstd::prelude::*;
4
5verus! {
6
7pub trait ValueEq: Sized {
9 fn value_eq(&self, other: &Self) -> (equal: bool)
11 ensures equal == (*self == *other);
12}
13
14impl ValueEq for u64 {
15 fn value_eq(&self, other: &Self) -> (equal: bool) {
16 *self == *other
17 }
18}
19
20impl ValueEq for usize {
21 fn value_eq(&self, other: &Self) -> (equal: bool) {
22 *self == *other
23 }
24}
25
26impl ValueEq for (usize, usize, u64) {
27 fn value_eq(&self, other: &Self) -> (equal: bool) {
28 self.0 == other.0 && self.1 == other.1 && self.2 == other.2
29 }
30}
31
32}