diff --git a/src/util/SpanCast.hxx b/src/util/SpanCast.hxx
index 10d45062c..27582433b 100644
--- a/src/util/SpanCast.hxx
+++ b/src/util/SpanCast.hxx
@@ -64,6 +64,7 @@ AsBytes(std::string_view sv) noexcept
  * Cast a reference to a fixed-size std::span<const std::byte>.
  */
 template<typename T>
+requires std::has_unique_object_representations_v<T>
 constexpr auto
 ReferenceAsBytes(const T &value) noexcept
 {
@@ -71,6 +72,7 @@ ReferenceAsBytes(const T &value) noexcept
 }
 
 template<typename T>
+requires std::has_unique_object_representations_v<T>
 constexpr auto
 ReferenceAsWritableBytes(T &value) noexcept
 {