diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py index 10bd5a0c9..524b8159a 100644 --- a/Lib/test/test_weakref.py +++ b/Lib/test/test_weakref.py @@ -162,8 +162,6 @@ class ReferencesTestCase(TestBase): c = C() self.assertRaises(TypeError, weakref.ref, c, callback=None) - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_proxy_ref(self): o = C() o.bar = 1 @@ -260,8 +258,6 @@ class ReferencesTestCase(TestBase): self.assertEqual(L3[:5], p3[:5]) self.assertEqual(L3[2:5], p3[2:5]) - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_proxy_unicode(self): # See bug 5037 class C(object): @@ -405,8 +401,6 @@ class ReferencesTestCase(TestBase): del f[0] self.assertEqual(f.result, 0) - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_proxy_bool(self): # Test clearing of SF bug #1170766 class List(list): pass diff --git a/vm/src/builtins/weakproxy.rs b/vm/src/builtins/weakproxy.rs index 1c8869809..36c8e00a2 100644 --- a/vm/src/builtins/weakproxy.rs +++ b/vm/src/builtins/weakproxy.rs @@ -73,6 +73,16 @@ impl PyWeakProxy { self.try_upgrade(vm)?.length(vm) } + #[pymethod(magic)] + fn bool(&self, vm: &VirtualMachine) -> PyResult { + self.try_upgrade(vm)?.is_true(vm) + } + + #[pymethod(magic)] + fn bytes(&self, vm: &VirtualMachine) -> PyResult { + self.try_upgrade(vm)?.bytes(vm) + } + fn contains(&self, needle: PyObjectRef, vm: &VirtualMachine) -> PyResult { let obj = self.try_upgrade(vm)?; PySequence::contains(&obj, &needle, vm)