From 7e4bee516be9c2c6755a157fd6323c2db22e501c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Pieczaba?= <55853803+mpieczaba@users.noreply.github.com> Date: Sun, 23 Feb 2025 22:35:29 +0100 Subject: [PATCH] refactor: make fill_default use Vec::resize_with (#53) --- src/renderer.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/renderer.rs b/src/renderer.rs index dc81b74..b301f25 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -46,12 +46,10 @@ struct PrevRender { contained_term: Option } +#[inline] pub fn fill_default(vec: &mut Vec, size: usize) { vec.clear(); - vec.reserve(size.saturating_sub(vec.len())); - for _ in 0..size { - vec.push(T::default()); - } + vec.resize_with(size, T::default); } // this function has to be sync (non-async) because the mupdf::Document needs to be held during @@ -141,7 +139,7 @@ pub fn start_rendering( // `split_at_mut` at 0 initially (which bascially makes `right == rendered && left == []`), // doing basically nothing, but if we get a notification that something has been jumped to, // then we can split at that page and render at both sides of it - let mut rendered = vec![]; + let mut rendered = Vec::new(); fill_default::(&mut rendered, n_pages); let mut start_point = 0;