From 13835c447e400d8fd3d5641552e96fadd63e87dc Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 16 Feb 2026 17:50:18 +0100 Subject: fix object store impl --- common/object/src/tests.rs | 12 +++++++++++- common/object/src/value.rs | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/common/object/src/tests.rs b/common/object/src/tests.rs index 59e6d8c..616ac69 100644 --- a/common/object/src/tests.rs +++ b/common/object/src/tests.rs @@ -4,7 +4,7 @@ Copyright (C) 2026 metamuffin */ -use crate::{ObjectBuffer, Registry, fields, inspect::Inspector}; +use crate::{Object, ObjectBuffer, Registry, fields, inspect::Inspector}; use std::sync::LazyLock; pub static TAGREG: LazyLock = LazyLock::new(|| { @@ -16,6 +16,7 @@ fields! { NAME: &str = 15 "name"; AGE: u32 = 13 "age"; FRIEND: &str = 54321 "friend"; + STUFF: Object = 3 "stuff"; } fn test_object() -> ObjectBuffer { @@ -75,6 +76,15 @@ fn insert() { assert_eq!(friends.next(), None); } +#[test] +fn insert_empty() { + let ob = Object::EMPTY.insert(NAME, "Romeo"); + assert_eq!(ob.as_object().get(NAME), Some("Romeo")); + + let ob = Object::EMPTY.insert(STUFF, Object::EMPTY); + assert_eq!(ob.as_object().get(STUFF), Some(Object::EMPTY)); +} + #[test] fn inspect_object() { let bob = test_object(); diff --git a/common/object/src/value.rs b/common/object/src/value.rs index cf6dad2..ac4cc9d 100644 --- a/common/object/src/value.rs +++ b/common/object/src/value.rs @@ -139,6 +139,7 @@ impl ValueStore for Object<'_> { true } fn store_aligned(&self, buf: &mut Vec) { + buf.push(self.tags.len() as u32); buf.extend(self.tags); buf.extend(self.offsets); buf.extend(self.values); -- cgit v1.3