[pdm-devel] [PATCH yew-comp] derive more standard traits for several types

Dominik Csapak d.csapak at proxmox.com
Wed Apr 16 09:40:54 CEST 2025


this is sensible to have, e.g. when we want to have them as part of a
type for a store

Suggested-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
this replaces the patch
https://lore.proxmox.com/pbs-devel/20250416070703.493585-1-d.csapak@proxmox.com/

from this series:
https://lore.proxmox.com/pdm-devel/20250411140520.1475644-1-d.csapak@proxmox.com/

the rest of the series can still be used when this is applied and
proxmox-yew-comp is bumped

 src/common_api_types.rs | 2 +-
 src/journal_view.rs     | 2 +-
 src/proxmox_product.rs  | 2 +-
 src/status.rs           | 4 ++++
 4 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/common_api_types.rs b/src/common_api_types.rs
index 58aec58..a14095f 100644
--- a/src/common_api_types.rs
+++ b/src/common_api_types.rs
@@ -66,7 +66,7 @@ impl ExtractPrimaryKey for TaskListItem {
 }
 
 /// Clasify task status.
-#[derive(Copy, Clone, PartialEq)]
+#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
 pub enum TaskStatusClass {
     Ok,
     Warning,
diff --git a/src/journal_view.rs b/src/journal_view.rs
index ae050eb..077e9bd 100644
--- a/src/journal_view.rs
+++ b/src/journal_view.rs
@@ -75,7 +75,7 @@ enum JournalRequest {
     Top(usize, String),
 }
 
-#[derive(PartialEq, Clone, Copy)]
+#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
 pub enum Position {
     Initial,
     Bottom,
diff --git a/src/proxmox_product.rs b/src/proxmox_product.rs
index 2ca0577..0e81cc8 100644
--- a/src/proxmox_product.rs
+++ b/src/proxmox_product.rs
@@ -23,7 +23,7 @@ pub trait ProjectInfo {
 }
 
 /// Enumerate the different Proxmox products.
-#[derive(PartialEq, Debug, Copy, Clone)]
+#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
 pub enum ExistingProduct {
     PVE,
     PMG,
diff --git a/src/status.rs b/src/status.rs
index 9d951c5..a2866d1 100644
--- a/src/status.rs
+++ b/src/status.rs
@@ -7,6 +7,7 @@ use pwt::{
 
 /// Used to represent a Status of some resource or component, e.g.
 /// if a PVE node is online or not.
+#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
 pub enum Status {
     Success,
     Warning,
@@ -27,6 +28,7 @@ impl Status {
 }
 
 /// Used to represent the state of a Node, being PVE or PBS
+#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
 pub enum NodeState {
     Online,
     Offline,
@@ -45,6 +47,7 @@ impl NodeState {
 }
 
 /// Used to represent the state of a PVE guest, such as a VM
+#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
 pub enum GuestState {
     Running,
     Paused,
@@ -67,6 +70,7 @@ impl GuestState {
 }
 
 /// Used to represent the state of a Storage or Datastore
+#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
 pub enum StorageState {
     Available,
     Unavailable,
-- 
2.39.5





More information about the pdm-devel mailing list