This commit is contained in:
2026-04-29 18:11:26 +08:00
parent 260bea9ff1
commit 0ca5e8af92
8 changed files with 59 additions and 44 deletions
+3 -3
View File
@@ -143,14 +143,14 @@ impl<T: VmRuntimeCtx> ConvertValueWithSeen for T {
Value::String(ns.as_str().to_owned())
} else if let Some(attrs) = val.as_gc::<AttrSet>() {
let bits = val.to_bits();
if attrs.is_empty() {
if attrs.entries.borrow().is_empty() {
return Value::AttrSet(Default::default());
}
if !seen.insert(bits) {
return Value::Repeated;
}
let mut map = std::collections::BTreeMap::new();
for &(key, val) in attrs.iter() {
for &(key, val) in attrs.entries.borrow().iter() {
let key = self.resolve_string(key).to_owned();
let converted = self.convert_value_with_seen(val, seen);
map.insert(fix_common::Symbol::from(key), converted);
@@ -252,7 +252,7 @@ impl OperandData {
pub(crate) enum AttrKeyData {
Static(StringId),
Dynamic(OperandData),
Dynamic,
}
fn init_builtins<'gc>(mc: &Mutation<'gc>, ctx: &mut impl VmRuntimeCtx) -> Value<'gc> {