perf(header): move a branch out of a loop in fmt_comma_delimited

This commit is contained in:
Sean McArthur
2017-05-25 10:31:20 -07:00
parent 6d8071b3ce
commit 40c575cc59

View File

@@ -44,10 +44,12 @@ pub fn from_comma_delimited<T: str::FromStr>(raw: &Raw) -> ::Result<Vec<T>> {
/// Format an array into a comma-delimited string.
pub fn fmt_comma_delimited<T: Display>(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(())