From ffa6b5c4ae2cdd3e07426ed0330f3f66e90ee57b Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 6 Jan 2026 19:10:37 +0100 Subject: tag registry --- common/object/src/buffer.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'common/object/src/buffer.rs') diff --git a/common/object/src/buffer.rs b/common/object/src/buffer.rs index 56b8caf..dbde833 100644 --- a/common/object/src/buffer.rs +++ b/common/object/src/buffer.rs @@ -5,6 +5,7 @@ */ use crate::{Object, Tag, ValueStore}; +use bytemuck::try_cast_vec; pub struct ObjectBuffer(pub Vec); @@ -48,3 +49,14 @@ impl ObjectBuffer { ) } } + +impl From> for ObjectBuffer { + fn from(value: Vec) -> Self { + ObjectBuffer(try_cast_vec(value).unwrap_or_else(|(_, v)| { + v.into_iter() + .array_chunks() + .map(u32::from_ne_bytes) + .collect() + })) + } +} -- cgit v1.3