chore: add Clone as Trait requirement for EAV

This commit is contained in:
2025-11-12 07:50:22 +01:00
parent 91dc75b07b
commit 222864389c
3 changed files with 6 additions and 5 deletions

View File

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

View File

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

View File

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