diff --git a/vm/src/stdlib/json.rs b/vm/src/stdlib/json.rs index b881b7a724..fbe7ea6b1e 100644 --- a/vm/src/stdlib/json.rs +++ b/vm/src/stdlib/json.rs @@ -199,8 +199,7 @@ pub fn de_pyobject(vm: &VirtualMachine, s: &str) -> PyResult { de.deserialize(&mut serde_json::Deserializer::from_str(s)) .map_err(|err| { let json_decode_error = vm - .sys_module - .get_item("modules") + .get_attribute(vm.sys_module.clone(), "modules") .unwrap() .get_item("json") .unwrap() diff --git a/vm/src/vm.rs b/vm/src/vm.rs index 321d659b8f..4148184f42 100644 --- a/vm/src/vm.rs +++ b/vm/src/vm.rs @@ -451,11 +451,11 @@ impl VirtualMachine { // Do we support `**kwargs` ? let kwargs = match code_object.varkeywords { bytecode::Varargs::Named(ref kwargs_name) => { - let d = self.ctx.new_dict().into_object(); - locals.set_item(&self.ctx, kwargs_name, d.clone()); + let d = self.ctx.new_dict(); + locals.set_item(&self.ctx, kwargs_name, d.as_object().clone()); Some(d) } - bytecode::Varargs::Unnamed => Some(self.ctx.new_dict().into_object()), + bytecode::Varargs::Unnamed => Some(self.ctx.new_dict()), bytecode::Varargs::None => None, };