From 5ac9184ba6749a84f0b7e2d306190ba4006ff2c8 Mon Sep 17 00:00:00 2001 From: Doohyun Cho <158799614+doocho@users.noreply.github.com> Date: Sat, 3 Jan 2026 19:46:42 +0900 Subject: [PATCH] perf(era-utils): replace Box with function pointer (#20701) --- crates/era-utils/src/history.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/crates/era-utils/src/history.rs b/crates/era-utils/src/history.rs index c3e58a060e..625ebb6846 100644 --- a/crates/era-utils/src/history.rs +++ b/crates/era-utils/src/history.rs @@ -170,18 +170,14 @@ where

::Primitives: NodePrimitives, { let reader = open(meta)?; - let iter = - reader - .iter() - .map(Box::new(decode) - as Box) -> eyre::Result<(BH, BB)>>); + let iter = reader.iter().map(decode as fn(_) -> _); let iter = ProcessIter { iter, era: meta }; process_iter(iter, writer, provider, hash_collector, block_numbers) } type ProcessInnerIter = - Map, Box) -> eyre::Result<(BH, BB)>>>; + Map, fn(Result) -> eyre::Result<(BH, BB)>>; /// An iterator that wraps era file extraction. After the final item [`EraMeta::mark_as_processed`] /// is called to ensure proper cleanup.