Как реализовать PartialEq для структуры, используя ссылку на объект признака
У меня есть следующий код, который не компилируется, потому что PartialEq
не реализовано для &MyTrait
:
trait MyTrait {}
#[derive(PartialEq)]
struct A<'a> {
t: &'a MyTrait
}
Как я могу реализовать PartialEq
за &MyTrait
таким образом, что он проверяет, имеют ли обе переменные одинаковый базовый тип и имеют одинаковые значения полей, как я сделал бы в Python:
def __eq__(self, other):
if isinstance(self, other.__class__):
return self.__dict__ == other.__dict__
return False
Есть ли способ сделать это в Rust?