summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-12-16 11:24:45 +0100
committerMatthias Beyer <mail@beyermatthias.de>2020-12-16 11:24:45 +0100
commit15a1338e5e959cfb2a5ad4e34a99824931dc8c01 (patch)
tree818c8327e3633b28723a4df1d6b7ad745e33636f
parentf3b9eb9628d50f49522a8eec6f704b2a85bcb59f (diff)
Replace manual Display implementations with derive
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--Cargo.toml1
-rw-r--r--src/log/item.rs8
-rw-r--r--src/package/name.rs9
-rw-r--r--src/package/script.rs9
-rw-r--r--src/package/source.rs24
-rw-r--r--src/package/version.rs9
-rw-r--r--src/util/docker.rs18
-rw-r--r--src/util/mod.rs9
8 files changed, 21 insertions, 66 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 0231546..4cbd8d4 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -28,6 +28,7 @@ indoc = "1"
itertools = "0.9"
lazy_static = "1.4"
log = "0.4"
+parse-display = "0.4"
pom = "3"
regex = "1"
reqwest = { version = "0.10", features = [ "stream" ] }
diff --git a/src/log/item.rs b/src/log/item.rs
index fc2af80..139ca76 100644
--- a/src/log/item.rs
+++ b/src/log/item.rs
@@ -28,11 +28,7 @@ impl LogItem {
}
}
+#[derive(parse_display::Display)]
+#[display("{0}")]
pub struct Display(String);
-impl std::fmt::Display for Display {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
- write!(f, "{}", self.0)
- }
-}
-
diff --git a/src/package/name.rs b/src/package/name.rs
index 5d07028..a784d36 100644
--- a/src/package/name.rs
+++ b/src/package/name.rs
@@ -4,8 +4,9 @@ use pom::parser::Parser as PomParser;
use serde::Deserialize;
use serde::Serialize;
-#[derive(Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
+#[derive(parse_display::Display, Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
#[serde(transparent)]
+#[display("{0}")]
pub struct PackageName(String);
impl Deref for PackageName {
@@ -21,12 +22,6 @@ impl From<String> for PackageName {
}
}
-impl std::fmt::Display for PackageName {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- self.0.fmt(f)
- }
-}
-
impl PackageName {
pub fn parser<'a>() -> PomParser<'a, u8, Self> {
use crate::util::parser::*;
diff --git a/src/package/script.rs b/src/package/script.rs
index a5075dc..204d4c5 100644
--- a/src/package/script.rs
+++ b/src/package/script.rs
@@ -18,8 +18,9 @@ use crate::package::Package;
use crate::package::Phase;
use crate::package::PhaseName;
-#[derive(Serialize, Deserialize, Clone, Debug)]
+#[derive(parse_display::Display, Serialize, Deserialize, Clone, Debug)]
#[serde(transparent)]
+#[display("{0}")]
pub struct Script(String);
impl From<String> for Script {
@@ -28,12 +29,6 @@ impl From<String> for Script {
}
}
-impl std::fmt::Display for Script {
- fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(fmt, "{}", self.0)
- }
-}
-
#[derive(Clone, Debug)]
pub struct Shebang(String);
diff --git a/src/package/source.rs b/src/package/source.rs
index 46adb88..4d97365 100644
--- a/src/package/source.rs
+++ b/src/package/source.rs
@@ -54,28 +54,21 @@ impl SourceHash {
}
-#[derive(Clone, Debug, Serialize, Deserialize)]
+#[derive(parse_display::Display, Clone, Debug, Serialize, Deserialize)]
pub enum HashType {
#[serde(rename = "sha1")]
+ #[display("sha1")]
Sha1,
#[serde(rename = "sha256")]
+ #[display("sha256")]
Sha256,
#[serde(rename = "sha512")]
+ #[display("sha512")]
Sha512,
}
-impl std::fmt::Display for HashType {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- match self {
- HashType::Sha1 => write!(f, "sha1"),
- HashType::Sha256 => write!(f, "sha256"),
- HashType::Sha512 => write!(f, "sha512"),
- }
- }
-}
-
impl HashType {
fn hash_buffer(&self, buffer: &[u8]) -> Result<HashValue> {
match self {
@@ -104,8 +97,9 @@ impl HashType {
}
-#[derive(Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq)]
+#[derive(parse_display::Display, Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq)]
#[serde(transparent)]
+#[display("{0}")]
pub struct HashValue(String);
#[cfg(test)]
@@ -115,9 +109,3 @@ impl From<String> for HashValue {
}
}
-impl std::fmt::Display for HashValue {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- self.0.fmt(f)
- }
-}
-
diff --git a/src/package/version.rs b/src/package/version.rs
index 8cc2c84..dafde97 100644
--- a/src/package/version.rs
+++ b/src/package/version.rs
@@ -40,8 +40,9 @@ impl PackageVersionConstraint {
}
}
-#[derive(Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
+#[derive(parse_display::Display, Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
#[serde(transparent)]
+#[display("{0}")]
pub struct PackageVersion(String);
impl Deref for PackageVersion {
@@ -57,12 +58,6 @@ impl From<String> for PackageVersion {
}
}
-impl std::fmt::Display for PackageVersion {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- self.0.fmt(f)
- }
-}
-
impl PackageVersion {
pub fn parser<'a>() -> PomParser<'a, u8, Self> {
(
diff --git a/src/util/docker.rs b/src/util/docker.rs
index ad91774..8036f6b 100644
--- a/src/util/docker.rs
+++ b/src/util/docker.rs
@@ -1,7 +1,8 @@
use serde::Deserialize;
use serde::Serialize;
-#[derive(Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
+#[derive(parse_display::Display ,Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
+#[display("{0}")]
pub struct ImageName(String);
impl From<String> for ImageName {
@@ -16,15 +17,10 @@ impl AsRef<str> for ImageName {
}
}
-impl std::fmt::Display for ImageName {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
- self.0.fmt(f)
- }
-}
-
-#[derive(Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
+#[derive(parse_display::Display, Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
#[serde(transparent)]
+#[display("{0}")]
pub struct ContainerHash(String);
impl From<String> for ContainerHash {
@@ -39,9 +35,3 @@ impl AsRef<str> for ContainerHash {
}
}
-impl std::fmt::Display for ContainerHash {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
- self.0.fmt(f)
- }
-}
-
diff --git a/src/util/mod.rs b/src/util/mod.rs
index 478962a..9d75f1e 100644
--- a/src/util/mod.rs
+++ b/src/util/mod.rs
@@ -1,8 +1,9 @@
use serde::Serialize;
use serde::Deserialize;
-#[derive(Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
+#[derive(parse_display::Display, Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
#[serde(transparent)]
+#[display("{0}")]
pub struct EnvironmentVariableName(String);
impl From<&str> for EnvironmentVariableName {
@@ -17,12 +18,6 @@ impl AsRef<str> for EnvironmentVariableName {
}
}
-impl std::fmt::Display for EnvironmentVariableName {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
- self.0.fmt(f)
- }
-}
-
pub mod docker;
pub mod filters;
pub mod git;