diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py index 524b8159a2..af873570ef 100644 --- a/Lib/test/test_weakref.py +++ b/Lib/test/test_weakref.py @@ -228,8 +228,6 @@ def test_proxy_reuse(self): self.assertIs(proxy1, proxy2, "proxy object w/out callback should have been re-used") - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_basic_proxy(self): o = C() self.check_proxy(o, weakref.proxy(o)) diff --git a/vm/src/builtins/weakproxy.rs b/vm/src/builtins/weakproxy.rs index 38b972057c..9ab7ad2a94 100644 --- a/vm/src/builtins/weakproxy.rs +++ b/vm/src/builtins/weakproxy.rs @@ -58,7 +58,7 @@ crate::common::static_cell! { static WEAK_SUBCLASS: PyTypeRef; } -#[pyimpl(with(GetAttr, SetAttr, Constructor, AsSequence, AsMapping))] +#[pyimpl(with(GetAttr, SetAttr, Constructor, Comparable, AsSequence, AsMapping))] impl PyWeakProxy { fn try_upgrade(&self, vm: &VirtualMachine) -> PyResult { self.weak.upgrade().ok_or_else(|| new_reference_error(vm)) @@ -88,6 +88,7 @@ impl PyWeakProxy { self.try_upgrade(vm)?.repr(vm) } + #[pymethod(magic)] fn contains(&self, needle: PyObjectRef, vm: &VirtualMachine) -> PyResult { let obj = self.try_upgrade(vm)?; PySequence::contains(&obj, &needle, vm)