diff options
| author | Thalia Archibald <thalia@archibald.dev> | 2025-03-01 12:34:09 -0800 |
|---|---|---|
| committer | Thalia Archibald <thalia@archibald.dev> | 2025-03-18 01:40:27 -0700 |
| commit | a0c3dd4df4f3e30331ddbd3b2507f3f8b18d4a3c (patch) | |
| tree | 28d695ef5cc8578221f55cfff92773046aed1acf /library/core/src | |
| parent | 493c38ba371929579fe136df26eccd9516347c7a (diff) | |
| download | rust-a0c3dd4df4f3e30331ddbd3b2507f3f8b18d4a3c.tar.gz rust-a0c3dd4df4f3e30331ddbd3b2507f3f8b18d4a3c.zip | |
Optimize io::Write::write_fmt for constant strings
When the formatting args to `fmt::Write::write_fmt` are a statically known string, it simplifies to only calling `write_str` without a runtime branch. Do the same in `io::Write::write_fmt` with `write_all`. Also, match the convention of `fmt::Write` for the name of `args`.
Diffstat (limited to 'library/core/src')
| -rw-r--r-- | library/core/src/fmt/mod.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/library/core/src/fmt/mod.rs b/library/core/src/fmt/mod.rs index b13c7ee5aa2..48f36044471 100644 --- a/library/core/src/fmt/mod.rs +++ b/library/core/src/fmt/mod.rs @@ -710,9 +710,10 @@ impl<'a> Arguments<'a> { } /// Same as [`Arguments::as_str`], but will only return `Some(s)` if it can be determined at compile time. + #[unstable(feature = "fmt_internals", reason = "internal to standard library", issue = "none")] #[must_use] #[inline] - fn as_statically_known_str(&self) -> Option<&'static str> { + pub fn as_statically_known_str(&self) -> Option<&'static str> { let s = self.as_str(); if core::intrinsics::is_val_statically_known(s.is_some()) { s } else { None } } |
