Skip to content

Commit 3f404bf

Browse files
committed
improve format impl for literals
1 parent 9d1aeae commit 3f404bf

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

library/alloc/src/fmt.rs

+10-4
Original file line numberDiff line numberDiff line change
@@ -604,9 +604,15 @@ use crate::string;
604604
#[cfg(not(no_global_oom_handling))]
605605
#[must_use]
606606
#[stable(feature = "rust1", since = "1.0.0")]
607+
#[inline]
607608
pub fn format(args: Arguments<'_>) -> string::String {
608-
let capacity = args.estimated_capacity();
609-
let mut output = string::String::with_capacity(capacity);
610-
output.write_fmt(args).expect("a formatting trait implementation returned an error");
611-
output
609+
#[cold]
610+
fn format_cold(args: Arguments<'_>) -> string::String {
611+
let capacity = args.estimated_capacity();
612+
let mut output = string::String::with_capacity(capacity);
613+
output.write_fmt(args).expect("a formatting trait implementation returned an error");
614+
output
615+
}
616+
617+
args.as_str().map_or_else(|| format_cold(args), crate::borrow::ToOwned::to_owned)
612618
}

0 commit comments

Comments
 (0)