From 84c045e150645b7cb08136bf80590ed84e57fe13 Mon Sep 17 00:00:00 2001 From: Kornel Date: Sat, 15 Sep 2018 11:50:54 +0100 Subject: [PATCH] Avoid vec allocation per pixel --- src/lib.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 93a3e3dd..6882f00a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -905,11 +905,15 @@ fn copy_permissions(input_path: &Path, out_file: &File, verbosity: Option) { fn images_equal(old_png: &DynamicImage, new_png: &DynamicImage) -> bool { let a = old_png .pixels() - .map(|x| x.2.channels().to_owned()) - .filter(|p| !(p.len() == 4 && p[3] == 0)); + .filter(|x| { + let p = x.2.channels(); + !(p.len() == 4 && p[3] == 0) + }); let b = new_png .pixels() - .map(|x| x.2.channels().to_owned()) - .filter(|p| !(p.len() == 4 && p[3] == 0)); + .filter(|x| { + let p = x.2.channels(); + !(p.len() == 4 && p[3] == 0) + }); a.eq(b) }