From 2119bff3546cd87ffd3008e1c055b9ceb1fd02a4 Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Fri, 6 Mar 2026 10:36:12 +0000 Subject: [PATCH 1/5] More derives on TIFF value structs --- src/encoder/tiff_value.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/encoder/tiff_value.rs b/src/encoder/tiff_value.rs index 38eeac3..800ab8b 100644 --- a/src/encoder/tiff_value.rs +++ b/src/encoder/tiff_value.rs @@ -665,22 +665,22 @@ impl_tiff_value_for_contiguous_sequence!(Rational; 8; Type::RATIONAL); impl_tiff_value_for_contiguous_sequence!(SRational; 8; Type::SRATIONAL); /// Type to represent tiff values of type `IFD` -#[derive(Clone)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub struct Ifd(pub u32); /// Type to represent tiff values of type `IFD8` -#[derive(Clone)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub struct Ifd8(pub u64); /// Type to represent tiff values of type `RATIONAL` -#[derive(Clone)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub struct Rational { pub n: u32, pub d: u32, } /// Type to represent tiff values of type `SRATIONAL` -#[derive(Clone)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub struct SRational { pub n: i32, pub d: i32, From 87007d85a0d8f068b2f48abd74902f5af678c5e9 Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Fri, 6 Mar 2026 10:41:20 +0000 Subject: [PATCH 2/5] Derive Debug on Compression enum --- src/encoder/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/encoder/mod.rs b/src/encoder/mod.rs index 38b2739..6126725 100644 --- a/src/encoder/mod.rs +++ b/src/encoder/mod.rs @@ -39,7 +39,7 @@ use self::writer::*; /// [Predictor::FloatingPoint] is for floating-point sample types (f32, f64). pub type Predictor = crate::tags::Predictor; -#[derive(Clone, Copy, PartialEq, Default)] +#[derive(Debug, Clone, Copy, PartialEq, Default)] pub enum Compression { #[default] Uncompressed, From ea949032a2bf5527c7f37433e31df73e1fb931de Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Fri, 6 Mar 2026 10:43:54 +0000 Subject: [PATCH 3/5] cargo clippy --fix --- src/encoder/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/encoder/mod.rs b/src/encoder/mod.rs index 6126725..2274dec 100644 --- a/src/encoder/mod.rs +++ b/src/encoder/mod.rs @@ -836,7 +836,7 @@ impl<'a, W: 'a + Write + Seek, T: ColorType, K: TiffKind> ImageEncoder<'a, W, T, .write_tag(Tag::ResolutionUnit, unit.to_u16()) .unwrap(); self.encoder - .write_tag(Tag::XResolution, value.clone()) + .write_tag(Tag::XResolution, value) .unwrap(); self.encoder.write_tag(Tag::YResolution, value).unwrap(); } From 2ca2427c758d11721aa6806a07192565c87023f5 Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Fri, 6 Mar 2026 10:51:23 +0000 Subject: [PATCH 4/5] cargo fmt --- src/encoder/mod.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/encoder/mod.rs b/src/encoder/mod.rs index 2274dec..cd6c2ff 100644 --- a/src/encoder/mod.rs +++ b/src/encoder/mod.rs @@ -835,9 +835,7 @@ impl<'a, W: 'a + Write + Seek, T: ColorType, K: TiffKind> ImageEncoder<'a, W, T, self.encoder .write_tag(Tag::ResolutionUnit, unit.to_u16()) .unwrap(); - self.encoder - .write_tag(Tag::XResolution, value) - .unwrap(); + self.encoder.write_tag(Tag::XResolution, value).unwrap(); self.encoder.write_tag(Tag::YResolution, value).unwrap(); } From b0bd33dbe4dedeb22e5d00af777e5c5750651dcd Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Fri, 6 Mar 2026 10:54:37 +0000 Subject: [PATCH 5/5] Remove equality from rational types; can be implemented later via cross-multiplication --- src/encoder/tiff_value.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/encoder/tiff_value.rs b/src/encoder/tiff_value.rs index 800ab8b..d8e9ecb 100644 --- a/src/encoder/tiff_value.rs +++ b/src/encoder/tiff_value.rs @@ -673,14 +673,14 @@ pub struct Ifd(pub u32); pub struct Ifd8(pub u64); /// Type to represent tiff values of type `RATIONAL` -#[derive(Debug, Copy, Clone, PartialEq, Eq)] +#[derive(Debug, Copy, Clone)] pub struct Rational { pub n: u32, pub d: u32, } /// Type to represent tiff values of type `SRATIONAL` -#[derive(Debug, Copy, Clone, PartialEq, Eq)] +#[derive(Debug, Copy, Clone)] pub struct SRational { pub n: i32, pub d: i32,