feat: add PartialEq trait requirement to EAV

This commit is contained in:
2025-11-11 14:24:08 +01:00
parent 2ecee20145
commit 20078034c5
3 changed files with 6 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
use heave::*; use heave::*;
// Define a struct named `Product` to represent a product. // Define a struct named `Product` to represent a product.
#[derive(PartialEq)]
struct Product { struct Product {
// `id` is a public field of type `String` to uniquely identify the product. // `id` is a public field of type `String` to uniquely identify the product.
pub id: String, pub id: String,

View File

@@ -1,23 +1,27 @@
use heave::*; use heave::*;
use std::path::Path; use std::path::Path;
#[derive(PartialEq)]
struct Laptop { struct Laptop {
pub id: String, pub id: String,
pub model: String, pub model: String,
pub price: u64, pub price: u64,
} }
#[derive(PartialEq)]
struct Display { struct Display {
pub id: String, pub id: String,
pub model: String, pub model: String,
pub resolution: f64, pub resolution: f64,
pub price: u64, pub price: u64,
} }
#[derive(PartialEq)]
struct Mouse { struct Mouse {
pub id: String, pub id: String,
pub model: String, pub model: String,
pub wireless: bool, pub wireless: bool,
pub price: u64, pub price: u64,
} }
#[derive(PartialEq)]
enum Product { enum Product {
None, None,
Laptop(Laptop), Laptop(Laptop),

View File

@@ -7,6 +7,7 @@ use crate::*;
pub trait T where pub trait T where
Self: TryFrom<Entity>, Self: TryFrom<Entity>,
Self: TryInto<Entity>, Self: TryInto<Entity>,
Self: PartialEq,
{ {
/// Returns the class name of the type. /// Returns the class name of the type.
/// ///