Avoid allocating intermediate strings in ItemizedBlock::trimmed_block_as_string

This commit is contained in:
Mattias Wallin 2024-09-01 08:36:44 +02:00 committed by Yacin Tmimi
parent 40909b4331
commit 9d407bfd1b

View File

@ -533,10 +533,11 @@ impl ItemizedBlock {
/// Returns the block as a string, with each line trimmed at the start. /// Returns the block as a string, with each line trimmed at the start.
fn trimmed_block_as_string(&self) -> String { fn trimmed_block_as_string(&self) -> String {
self.lines self.lines.iter().fold(String::new(), |mut acc, line| {
.iter() acc.push_str(line.trim_start());
.map(|line| format!("{} ", line.trim_start())) acc.push(' ');
.collect::<String>() acc
})
} }
/// Returns the block as a string under its original form. /// Returns the block as a string under its original form.