diff --git a/vm/src/builtins/mappingproxy.rs b/vm/src/builtins/mappingproxy.rs index 225fd14326..27f4942226 100644 --- a/vm/src/builtins/mappingproxy.rs +++ b/vm/src/builtins/mappingproxy.rs @@ -137,6 +137,16 @@ impl PyMappingProxy { } } } + #[pymethod(magic)] + fn repr(&self, vm: &VirtualMachine) -> PyResult { + let obj = match &self.mapping { + MappingProxyInner::Dict(d) => d.clone(), + MappingProxyInner::Class(c) => { + PyDict::from_attributes(c.attributes.read().clone(), vm)?.into_pyobject(vm) + } + }; + Ok(format!("mappingproxy({})", vm.to_repr(&obj)?)) + } } impl AsMapping for PyMappingProxy {