difftreelog
feat(interner) make more functions const
in: master
2 files changed
crates/jrsonnet-interner/src/inner.rsdiffbeforeafterboth84 unsafe { Self::new_raw(str.as_bytes(), true) }84 unsafe { Self::new_raw(str.as_bytes(), true) }85 }85 }868687 pub fn as_slice(&self) -> &[u8] {87 pub const fn as_slice(&self) -> &[u8] {88 let header = Self::header(self);88 let header = Self::header(self);89 // SAFETY: data is not null, and it is correctly initialized89 // SAFETY: data is not null, and it is correctly initialized90 let size = unsafe { (*header).size };90 let size = unsafe { (*header).size };9999100 /// # Safety100 /// # Safety101 /// Data should be checked to be utf8 via [`check_utf8`] first101 /// Data should be checked to be utf8 via [`check_utf8`] first102 pub unsafe fn as_str_unchecked(&self) -> &str {102 pub const unsafe fn as_str_unchecked(&self) -> &str {103 // SAFETY: data is checked103 // SAFETY: data is checked104 unsafe { str::from_utf8_unchecked(self.as_slice()) }104 unsafe { str::from_utf8_unchecked(self.as_slice()) }105 }105 }crates/jrsonnet-interner/src/lib.rsdiffbeforeafterboth--- a/crates/jrsonnet-interner/src/lib.rs
+++ b/crates/jrsonnet-interner/src/lib.rs
@@ -129,7 +129,7 @@
}
#[must_use]
- pub fn as_slice(&self) -> &[u8] {
+ pub const fn as_slice(&self) -> &[u8] {
self.0.as_slice()
}
}