diff --git a/splashsurf_lib/Cargo.toml b/splashsurf_lib/Cargo.toml
index 5a6ba83..8e2b7ae 100644
--- a/splashsurf_lib/Cargo.toml
+++ b/splashsurf_lib/Cargo.toml
@@ -51,7 +51,7 @@ fxhash = "0.2"
bitflags = "2.4"
smallvec = { version = "1.11", features = ["union"] }
arrayvec = "0.7"
-bytemuck = "1.9"
+bytemuck = { version = "1.9", features = ["extern_crate_alloc"] }
bytemuck_derive = "1.3"
numeric_literals = "0.2"
rstar = "0.11"
diff --git a/splashsurf_lib/src/utils.rs b/splashsurf_lib/src/utils.rs
index 4912f22..fdcd96a 100644
--- a/splashsurf_lib/src/utils.rs
+++ b/splashsurf_lib/src/utils.rs
@@ -7,6 +7,7 @@ use std::cell::UnsafeCell;
/// "Convert" an empty vector to preserve allocated memory if size and alignment matches
/// See https://users.rust-lang.org/t/pattern-how-to-reuse-a-vec-str-across-loop-iterations/61657/5
/// See https://github.com/rust-lang/rfcs/pull/2802
+#[allow(unused)]
pub(crate) fn recycle(mut v: Vec) -> Vec {
v.clear();
v.into_iter().map(|_| unreachable!()).collect()