summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Turner <jturner.usa@gmail.com>2025-10-27 22:09:30 -0400
committerJohn Turner <jturner.usa@gmail.com>2025-10-27 22:09:30 -0400
commitee1d15f983a2dd9b25beb483bb176776f8de129f (patch)
tree9d7da706705a540105f1208e24f1145fd613ac5d
parent183dc8edcdc7e1b75902c781f0eb797184f016a8 (diff)
downloadgentoo-utils-ee1d15f983a2dd9b25beb483bb176776f8de129f.tar.gz
use deref getters where needed
-rw-r--r--src/atom/mod.rs13
-rw-r--r--src/useflag/mod.rs2
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<VersionNumber>,
letter: Option<char>,
+ #[get(kind = "deref")]
suffixes: Vec<VersionSuffix>,
rev: Option<VersionNumber>,
}
@@ -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<Version>,
slot: Option<Slot>,
+ #[get(kind = "deref")]
usedeps: Vec<UseDep>,
}
@@ -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::<String>();
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 {