mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Rollup merge of #106662 - Ezrashaw:specialize-bool-tostring, r=cuviper
specialize impl of `ToString` on `bool` Fixes #106611 Specialize `bool`s `ToString` impl by copying it from `Display`. This is a significant optimization as we avoid lots of dynamic dispatch. AFAIK, this doesn't require a API Change Proposal as this doesn't regress existing code and can be undone without regressing code.
This commit is contained in:
commit
feca61e5eb
@ -2548,6 +2548,15 @@ impl ToString for char {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "bool_to_string_specialization", since = "CURRENT_RUSTC_VERSION")]
|
||||
impl ToString for bool {
|
||||
#[inline]
|
||||
fn to_string(&self) -> String {
|
||||
String::from(if *self { "true" } else { "false" })
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "u8_to_string_specialization", since = "1.54.0")]
|
||||
impl ToString for u8 {
|
||||
|
Loading…
Reference in New Issue
Block a user