Hide slice implementation details from name lookup
diff --git a/include/cxx.h b/include/cxx.h
index acf2b1b..41138c8 100644
--- a/include/cxx.h
+++ b/include/cxx.h
@@ -180,6 +180,10 @@
   void swap(Slice &) noexcept;
 
 private:
+  friend void sliceInit(void *, const void *, std::size_t) noexcept;
+  friend void *slicePtr(const void *) noexcept;
+  friend std::size_t sliceLen(const void *) noexcept;
+
   std::array<std::uintptr_t, 2> repr;
 };
 
@@ -485,10 +489,6 @@
 
 #ifndef CXXBRIDGE1_RUST_SLICE
 #define CXXBRIDGE1_RUST_SLICE
-void sliceInit(void *, const void *, std::size_t) noexcept;
-void *slicePtr(const void *) noexcept;
-std::size_t sliceLen(const void *) noexcept;
-
 template <typename T>
 Slice<T>::Slice() noexcept {
   sliceInit(this, reinterpret_cast<void *>(align_of<T>()), 0);