diff --git a/Lib/test/test_funcattrs.py b/Lib/test/test_funcattrs.py index 9080922e5e..898111a769 100644 --- a/Lib/test/test_funcattrs.py +++ b/Lib/test/test_funcattrs.py @@ -140,8 +140,6 @@ def f(): print(a) self.fail("shouldn't be able to read an empty cell") a = 12 - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_set_cell(self): a = 12 def f(): return a diff --git a/vm/src/builtins/function.rs b/vm/src/builtins/function.rs index e054ac4348..33188ce39e 100644 --- a/vm/src/builtins/function.rs +++ b/vm/src/builtins/function.rs @@ -759,8 +759,11 @@ impl PyCell { .ok_or_else(|| vm.new_value_error("Cell is empty".to_owned())) } #[pygetset(setter)] - fn set_cell_contents(&self, x: PyObjectRef) { - self.set(Some(x)) + fn set_cell_contents(&self, x: PySetterValue) { + match x { + PySetterValue::Assign(value) => self.set(Some(value)), + PySetterValue::Delete => self.set(None), + } } }