Skip to content

Commit 13e008a

Browse files
authored
Merge pull request #228 from DaniPopes/avoid-write-macro-str
perf: avoid using write! macro with single `str`
2 parents 5628f47 + fb843c5 commit 13e008a

File tree

3 files changed

+6
-9
lines changed

3 files changed

+6
-9
lines changed

crates/anstyle/src/color.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -627,19 +627,17 @@ impl DisplayBuffer {
627627
impl core::fmt::Display for DisplayBuffer {
628628
#[inline]
629629
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
630-
let s = self.as_str();
631-
write!(f, "{s}")
630+
f.write_str(self.as_str())
632631
}
633632
}
634633

635634
#[derive(Copy, Clone, Default, Debug)]
636-
struct NullFormatter<D: core::fmt::Display>(D);
635+
struct NullFormatter(&'static str);
637636

638-
impl<D: core::fmt::Display> core::fmt::Display for NullFormatter<D> {
637+
impl core::fmt::Display for NullFormatter {
639638
#[inline]
640639
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
641-
let d = &self.0;
642-
write!(f, "{d}")
640+
f.write_str(self.0)
643641
}
644642
}
645643

crates/anstyle/src/effect.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -323,8 +323,7 @@ impl core::fmt::Display for EffectsDisplay {
323323
#[inline]
324324
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
325325
for index in self.0.index_iter() {
326-
let escape = METADATA[index].escape;
327-
write!(f, "{escape}")?;
326+
f.write_str(METADATA[index].escape)?;
328327
}
329328
Ok(())
330329
}

crates/anstyle/src/reset.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ impl Reset {
1515

1616
impl core::fmt::Display for Reset {
1717
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18-
write!(f, "{RESET}")
18+
f.write_str(RESET)
1919
}
2020
}
2121

0 commit comments

Comments
 (0)