git.delta.rocks / jrsonnet / refs/commits / 34a152fcae11

difftreelog

feat(interner) make more functions const

Yaroslav Bolyukin2022-07-23parent: #5a21a2e.patch.diff
in: master

2 files changed

modifiedcrates/jrsonnet-interner/src/inner.rsdiffbeforeafterboth
--- a/crates/jrsonnet-interner/src/inner.rs
+++ b/crates/jrsonnet-interner/src/inner.rs
@@ -84,7 +84,7 @@
 		unsafe { Self::new_raw(str.as_bytes(), true) }
 	}
 
-	pub fn as_slice(&self) -> &[u8] {
+	pub const fn as_slice(&self) -> &[u8] {
 		let header = Self::header(self);
 		// SAFETY: data is not null, and it is correctly initialized
 		let size = unsafe { (*header).size };
@@ -99,7 +99,7 @@
 
 	/// # Safety
 	/// Data should be checked to be utf8 via [`check_utf8`] first
-	pub unsafe fn as_str_unchecked(&self) -> &str {
+	pub const unsafe fn as_str_unchecked(&self) -> &str {
 		// SAFETY: data is checked
 		unsafe { str::from_utf8_unchecked(self.as_slice()) }
 	}
modifiedcrates/jrsonnet-interner/src/lib.rsdiffbeforeafterboth
129 }129 }
130130
131 #[must_use]131 #[must_use]
132 pub fn as_slice(&self) -> &[u8] {132 pub const fn as_slice(&self) -> &[u8] {
133 self.0.as_slice()133 self.0.as_slice()
134 }134 }
135}135}