From ee1d15f983a2dd9b25beb483bb176776f8de129f Mon Sep 17 00:00:00 2001 From: John Turner Date: Mon, 27 Oct 2025 22:09:30 -0400 Subject: [PATCH] use deref getters where needed --- src/atom/mod.rs | 13 ++++++++----- src/useflag/mod.rs | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/atom/mod.rs b/src/atom/mod.rs index 1f9c351..11c56f8 100644 --- a/src/atom/mod.rs +++ b/src/atom/mod.rs @@ -28,13 +28,13 @@ pub enum VersionOperator { } #[derive(Clone, Debug, PartialEq, Eq, Get)] -pub struct Category(#[get(method = "get")] String); +pub struct Category(#[get(method = "get", kind = "deref")] String); #[derive(Clone, Debug, PartialEq, Eq, Get)] -pub struct Name(#[get(method = "get")] String); +pub struct Name(#[get(method = "get", kind = "deref")] String); #[derive(Clone, Debug, Get)] -pub struct VersionNumber(#[get(method = "get")] String); +pub struct VersionNumber(#[get(method = "get", kind = "deref")] String); #[derive(Clone, Copy, Debug)] pub enum VersionSuffixKind { @@ -53,8 +53,10 @@ pub struct VersionSuffix { #[derive(Clone, Debug, Get)] pub struct Version { + #[get(kind = "deref")] numbers: Vec, letter: Option, + #[get(kind = "deref")] suffixes: Vec, rev: Option, } @@ -66,7 +68,7 @@ pub enum SlotOperator { } #[derive(Clone, Debug, PartialEq, Eq, Get)] -pub struct SlotName(#[get(method = "name")] String); +pub struct SlotName(#[get(method = "name", kind = "deref")] String); #[derive(Clone, Debug, PartialEq, Eq, Get)] pub struct Slot { @@ -109,6 +111,7 @@ pub struct Atom { name: Name, version: Option, slot: Option, + #[get(kind = "deref")] usedeps: Vec, } @@ -181,7 +184,7 @@ impl fmt::Display for Version { let numbers = self .numbers .iter() - .map(|n| n.get().as_str()) + .map(|n| n.get()) .intersperse(".") .collect::(); diff --git a/src/useflag/mod.rs b/src/useflag/mod.rs index 16104d6..1f814eb 100644 --- a/src/useflag/mod.rs +++ b/src/useflag/mod.rs @@ -5,7 +5,7 @@ use get::Get; pub mod parsers; #[derive(Clone, Debug, PartialEq, Eq, Get)] -pub struct UseFlag(#[get(method = "name")] String); +pub struct UseFlag(#[get(method = "name", kind = "deref")] String); #[derive(Clone, Debug, PartialEq, Eq, Get)] pub struct IUseFlag {