fix(builtins): should not appear in public value
This commit is contained in:
@@ -42,7 +42,10 @@ impl<'jit: 'vm, 'vm> AttrSet<'jit, 'vm> {
|
||||
}
|
||||
|
||||
pub fn select(&self, sym: usize) -> Option<Value<'jit, 'vm>> {
|
||||
self.data.get(&sym).cloned()
|
||||
self.data.get(&sym).cloned().map(|val| match val {
|
||||
Value::Builtins(x) => Value::AttrSet(x.upgrade().unwrap()),
|
||||
val => val
|
||||
})
|
||||
}
|
||||
|
||||
pub fn has_attr(&self, sym: usize) -> bool {
|
||||
|
||||
@@ -379,11 +379,7 @@ impl<'jit, 'vm> Value<'jit, 'vm> {
|
||||
self.typename()
|
||||
))),
|
||||
}?;
|
||||
if let Value::Builtins(weak) = val {
|
||||
*self = Value::AttrSet(weak.upgrade().unwrap())
|
||||
} else {
|
||||
*self = val;
|
||||
}
|
||||
*self = val;
|
||||
Ok(self)
|
||||
}
|
||||
|
||||
@@ -398,11 +394,7 @@ impl<'jit, 'vm> Value<'jit, 'vm> {
|
||||
)));
|
||||
}
|
||||
};
|
||||
if let Value::Builtins(weak) = val {
|
||||
*self = Value::AttrSet(weak.upgrade().unwrap())
|
||||
} else {
|
||||
*self = val;
|
||||
}
|
||||
*self = val;
|
||||
Ok(self)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user