From a8f84ef3f6b949a07d81a37ee9070d60f0cef5b6 Mon Sep 17 00:00:00 2001 From: Till Wegmueller Date: Sat, 25 Mar 2023 16:57:38 +0100 Subject: [PATCH] fix derivable impls Signed-off-by: Till Wegmueller --- libips/src/payload/mod.rs | 47 +++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/libips/src/payload/mod.rs b/libips/src/payload/mod.rs index b9fb3fe..d690c25 100644 --- a/libips/src/payload/mod.rs +++ b/libips/src/payload/mod.rs @@ -3,12 +3,12 @@ // MPL was not distributed with this file, You can // obtain one at https://mozilla.org/MPL/2.0/. -use crate::digest::{Digest, DigestAlgorithm, DigestSource, DigestError}; +use crate::digest::{Digest, DigestAlgorithm, DigestError, DigestSource}; use object::Object; -use std::path::Path; -use thiserror::Error; -use std::result::Result as StdResult; use std::io::Error as IOError; +use std::path::Path; +use std::result::Result as StdResult; +use thiserror::Error; type Result = StdResult; @@ -20,38 +20,29 @@ pub enum PayloadError { DigestError(#[from] DigestError), } -#[derive(Debug, PartialEq, Clone)] +#[derive(Debug, PartialEq, Clone, Default)] pub enum PayloadCompressionAlgorithm { Gzip, - LZ4 + #[default] + LZ4, } -impl Default for PayloadCompressionAlgorithm { - fn default() -> Self { PayloadCompressionAlgorithm::LZ4 } -} - -#[derive(Debug, PartialEq, Clone)] +#[derive(Debug, PartialEq, Clone, Default)] pub enum PayloadBits { + #[default] Independent, Bits32, - Bits64 + Bits64, } -impl Default for PayloadBits { - fn default() -> Self { PayloadBits::Independent } -} - -#[derive(Debug, PartialEq, Clone)] +#[derive(Debug, PartialEq, Clone, Default)] pub enum PayloadArchitecture { + #[default] NOARCH, I386, SPARC, ARM, - RISCV -} - -impl Default for PayloadArchitecture { - fn default() -> Self { PayloadArchitecture::NOARCH } + RISCV, } #[derive(Debug, Default, PartialEq, Clone)] @@ -94,12 +85,16 @@ impl Payload { Err(_) => (PayloadBits::Independent, PayloadArchitecture::NOARCH), }; - Ok(Payload{ - primary_identifier:Digest::from_bytes(f.as_slice(), DigestAlgorithm::SHA3512, DigestSource::PrimaryPayloadHash)?, + Ok(Payload { + primary_identifier: Digest::from_bytes( + f.as_slice(), + DigestAlgorithm::SHA3512, + DigestSource::PrimaryPayloadHash, + )?, additional_identifiers: Vec::::new(), compression_algorithm: PayloadCompressionAlgorithm::default(), bitness, - architecture + architecture, }) } -} \ No newline at end of file +}