diff --git a/crates/objects/tests/attribute_storage.rs b/crates/objects/tests/attribute_storage.rs
index ea6289b..f8047b5 100644
--- a/crates/objects/tests/attribute_storage.rs
+++ b/crates/objects/tests/attribute_storage.rs
@@ -1,48 +1,73 @@
+//! Rust 测试框架调用的属性存储回归,不执行源码指令。
+//! Proxy 让字段存储与名义身份分开;ReflectiveType 触发类型查询对自身属性的重入。
+//! 断言覆盖托管边生命周期、失败不修改版本、能力方法不得被实例属性遮蔽。
+
use objects::{ObjectPayload, ObjectRef, ObjectStore, TypeConstructor, Value, VmError};
#[derive(Debug)]
+/// 一个拥有后端存储引用的门面,type_target 保持默认 None。
struct Proxy(ObjectRef);
impl ObjectPayload for Proxy {
+ /// Store 下转型测试载荷,不进行语言类型判定。
fn as_any(&self) -> &dyn std::any::Any {
self
}
+ /// 测试错误/诊断使用的类别标签。
fn kind_name(&self) -> &'static str {
"proxy"
}
+ /// Heap 分配/替换时记录一条拥有边,确保被代理存储或自引用 Cell 存活。
fn trace(&self, visit: &mut dyn FnMut(ObjectRef)) {
visit(self.0);
}
+ /// Store::attribute_path 追踪实际字段存储,不改变代理对象头部类型。
fn attribute_target(&self, _: &ObjectStore) -> Result