add auto implementation of Pod::equals (#327)

This commit is contained in:
Daniel Gulotta 2025-07-01 11:09:35 -07:00 committed by GitHub
parent e0d2fce060
commit 335100d1d7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 21 additions and 75 deletions

View file

@ -1,5 +1,4 @@
use std::{
any::Any,
collections::HashMap,
sync::{LazyLock, Mutex},
};
@ -193,17 +192,6 @@ impl Pod for EmptyPod {
})
.expect("serialization to json")
}
fn as_any(&self) -> &dyn Any {
self
}
fn equals(&self, other: &dyn Pod) -> bool {
if let Some(other) = other.as_any().downcast_ref::<EmptyPod>() {
self == other
} else {
false
}
}
}
impl RecursivePod for EmptyPod {

View file

@ -676,17 +676,6 @@ impl Pod for MainPod {
})
.expect("serialization to json")
}
fn as_any(&self) -> &dyn Any {
self
}
fn equals(&self, other: &dyn Pod) -> bool {
if let Some(other) = other.as_any().downcast_ref::<MainPod>() {
self == other
} else {
false
}
}
}
impl RecursivePod for MainPod {

View file

@ -1,5 +1,3 @@
use std::any::Any;
use itertools::Itertools;
use crate::{
@ -69,17 +67,6 @@ impl Pod for MockEmptyPod {
fn serialize_data(&self) -> serde_json::Value {
serde_json::Value::Null
}
fn as_any(&self) -> &dyn Any {
self
}
fn equals(&self, other: &dyn Pod) -> bool {
if let Some(other) = other.as_any().downcast_ref::<MockEmptyPod>() {
self == other
} else {
false
}
}
}
impl RecursivePod for MockEmptyPod {

View file

@ -2,7 +2,7 @@
// MainPod
//
use std::{any::Any, fmt, iter};
use std::{fmt, iter};
use itertools::Itertools;
use serde::{Deserialize, Serialize};
@ -367,17 +367,6 @@ impl Pod for MockMainPod {
})
.expect("serialization to json")
}
fn as_any(&self) -> &dyn Any {
self
}
fn equals(&self, other: &dyn Pod) -> bool {
if let Some(other) = other.as_any().downcast_ref::<MockMainPod>() {
self == other
} else {
false
}
}
}
impl RecursivePod for MockMainPod {

View file

@ -1,4 +1,4 @@
use std::{any::Any, collections::HashMap};
use std::collections::HashMap;
use itertools::Itertools;
use serde::{Deserialize, Serialize};
@ -166,17 +166,6 @@ impl Pod for MockSignedPod {
})
.expect("serialization to json")
}
fn as_any(&self) -> &dyn Any {
self
}
fn equals(&self, other: &dyn Pod) -> bool {
if let Some(other) = other.as_any().downcast_ref::<MockSignedPod>() {
self == other
} else {
false
}
}
}
#[cfg(test)]

View file

@ -1,4 +1,4 @@
use std::{any::Any, collections::HashMap, sync::LazyLock};
use std::{collections::HashMap, sync::LazyLock};
use itertools::Itertools;
use num_bigint::{BigUint, RandBigInt};
@ -203,17 +203,6 @@ impl Pod for SignedPod {
})
.expect("serialization to json")
}
fn as_any(&self) -> &dyn Any {
self
}
fn equals(&self, other: &dyn Pod) -> bool {
if let Some(other) = other.as_any().downcast_ref::<SignedPod>() {
self == other
} else {
false
}
}
}
#[cfg(test)]