diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-03-28 07:01:11 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-28 07:01:11 +0200 |
| commit | 90b6c715dfe203f6cf804554d43932fbb901251f (patch) | |
| tree | 0f9035b72deaf1499f0533fe4d6759d4c729ab37 | |
| parent | fceb3d49f4c1eab9a6768730b4f653715a4bc6a3 (diff) | |
| parent | 901f10899c32db30f36afe9908284737ad5775e9 (diff) | |
| download | rust-90b6c715dfe203f6cf804554d43932fbb901251f.tar.gz rust-90b6c715dfe203f6cf804554d43932fbb901251f.zip | |
Rollup merge of #109682 - clubby789:c-str-inline, r=scottmcm
Add `#[inline]` to CStr trait implementations Fixes #109674 I noticed other usages of traits on `CStr` weren't being inlined, so also added hints to the other implementations
| -rw-r--r-- | library/core/src/ffi/c_str.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/library/core/src/ffi/c_str.rs b/library/core/src/ffi/c_str.rs index fe8abdf7fad..4a5306ccaa7 100644 --- a/library/core/src/ffi/c_str.rs +++ b/library/core/src/ffi/c_str.rs @@ -172,6 +172,7 @@ impl fmt::Debug for CStr { #[stable(feature = "cstr_default", since = "1.10.0")] impl Default for &CStr { + #[inline] fn default() -> Self { const SLICE: &[c_char] = &[0]; // SAFETY: `SLICE` is indeed pointing to a valid nul-terminated string. @@ -623,6 +624,7 @@ impl CStr { #[stable(feature = "rust1", since = "1.0.0")] impl PartialEq for CStr { + #[inline] fn eq(&self, other: &CStr) -> bool { self.to_bytes().eq(other.to_bytes()) } @@ -631,12 +633,14 @@ impl PartialEq for CStr { impl Eq for CStr {} #[stable(feature = "rust1", since = "1.0.0")] impl PartialOrd for CStr { + #[inline] fn partial_cmp(&self, other: &CStr) -> Option<Ordering> { self.to_bytes().partial_cmp(&other.to_bytes()) } } #[stable(feature = "rust1", since = "1.0.0")] impl Ord for CStr { + #[inline] fn cmp(&self, other: &CStr) -> Ordering { self.to_bytes().cmp(&other.to_bytes()) } @@ -646,6 +650,7 @@ impl Ord for CStr { impl ops::Index<ops::RangeFrom<usize>> for CStr { type Output = CStr; + #[inline] fn index(&self, index: ops::RangeFrom<usize>) -> &CStr { let bytes = self.to_bytes_with_nul(); // we need to manually check the starting index to account for the null |
