From fa71ac969944c6f68fbd837dd48ffa38bc3ef7c3 Mon Sep 17 00:00:00 2001 From: snowapril Date: Sat, 2 Oct 2021 20:01:14 +0900 Subject: [PATCH] add missing repr on mappingproxy Signed-off-by: snowapril --- vm/src/builtins/mappingproxy.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 {