From 40c575cc5989870261eec7bdf9bbc293ed38e72b Mon Sep 17 00:00:00 2001 From: Sean McArthur Date: Thu, 25 May 2017 10:31:20 -0700 Subject: [PATCH] perf(header): move a branch out of a loop in fmt_comma_delimited --- src/header/parsing.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/header/parsing.rs b/src/header/parsing.rs index 8706b32d..0f65fb2f 100644 --- a/src/header/parsing.rs +++ b/src/header/parsing.rs @@ -44,10 +44,12 @@ pub fn from_comma_delimited(raw: &Raw) -> ::Result> { /// Format an array into a comma-delimited string. pub fn fmt_comma_delimited(f: &mut fmt::Formatter, parts: &[T]) -> fmt::Result { - for (i, part) in parts.iter().enumerate() { - if i != 0 { - try!(f.write_str(", ")); - } + let mut iter = parts.iter(); + if let Some(part) = iter.next() { + try!(Display::fmt(part, f)); + } + for part in iter { + try!(f.write_str(", ")); try!(Display::fmt(part, f)); } Ok(())