use deref getters where needed

This commit is contained in:
John Turner
2025-10-27 22:09:30 -04:00
parent 183dc8edcd
commit ee1d15f983
2 changed files with 9 additions and 6 deletions

View File

@@ -28,13 +28,13 @@ pub enum VersionOperator {
} }
#[derive(Clone, Debug, PartialEq, Eq, Get)] #[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)] #[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)] #[derive(Clone, Debug, Get)]
pub struct VersionNumber(#[get(method = "get")] String); pub struct VersionNumber(#[get(method = "get", kind = "deref")] String);
#[derive(Clone, Copy, Debug)] #[derive(Clone, Copy, Debug)]
pub enum VersionSuffixKind { pub enum VersionSuffixKind {
@@ -53,8 +53,10 @@ pub struct VersionSuffix {
#[derive(Clone, Debug, Get)] #[derive(Clone, Debug, Get)]
pub struct Version { pub struct Version {
#[get(kind = "deref")]
numbers: Vec<VersionNumber>, numbers: Vec<VersionNumber>,
letter: Option<char>, letter: Option<char>,
#[get(kind = "deref")]
suffixes: Vec<VersionSuffix>, suffixes: Vec<VersionSuffix>,
rev: Option<VersionNumber>, rev: Option<VersionNumber>,
} }
@@ -66,7 +68,7 @@ pub enum SlotOperator {
} }
#[derive(Clone, Debug, PartialEq, Eq, Get)] #[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)] #[derive(Clone, Debug, PartialEq, Eq, Get)]
pub struct Slot { pub struct Slot {
@@ -109,6 +111,7 @@ pub struct Atom {
name: Name, name: Name,
version: Option<Version>, version: Option<Version>,
slot: Option<Slot>, slot: Option<Slot>,
#[get(kind = "deref")]
usedeps: Vec<UseDep>, usedeps: Vec<UseDep>,
} }
@@ -181,7 +184,7 @@ impl fmt::Display for Version {
let numbers = self let numbers = self
.numbers .numbers
.iter() .iter()
.map(|n| n.get().as_str()) .map(|n| n.get())
.intersperse(".") .intersperse(".")
.collect::<String>(); .collect::<String>();

View File

@@ -5,7 +5,7 @@ use get::Get;
pub mod parsers; pub mod parsers;
#[derive(Clone, Debug, PartialEq, Eq, Get)] #[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)] #[derive(Clone, Debug, PartialEq, Eq, Get)]
pub struct IUseFlag { pub struct IUseFlag {