diff --git a/tests/snippets/property.py b/tests/snippets/property.py index 1fd5f7e33..c61f13189 100644 --- a/tests/snippets/property.py +++ b/tests/snippets/property.py @@ -51,8 +51,7 @@ assert type(null_property) is property p = property(lambda x: x[0]) assert p.__get__((2,), tuple) == 2 -# TODO owner parameter is optional -# assert p.__get__((2,)) == 2 +assert p.__get__((2,)) == 2 with assertRaises(AttributeError): null_property.__get__((), tuple) diff --git a/vm/src/obj/objproperty.rs b/vm/src/obj/objproperty.rs index 5369f274d..44461c41b 100644 --- a/vm/src/obj/objproperty.rs +++ b/vm/src/obj/objproperty.rs @@ -24,7 +24,12 @@ impl PyValue for PyReadOnlyProperty { pub type PyReadOnlyPropertyRef = PyRef; impl PyReadOnlyPropertyRef { - fn get(self, obj: PyObjectRef, _owner: PyClassRef, vm: &mut VirtualMachine) -> PyResult { + fn get( + self, + obj: PyObjectRef, + _owner: OptionalArg, + vm: &mut VirtualMachine, + ) -> PyResult { if obj.is(&vm.ctx.none) { Ok(self.into_object()) } else { @@ -81,7 +86,12 @@ impl PyPropertyRef { } } - fn get(self, obj: PyObjectRef, _owner: PyClassRef, vm: &mut VirtualMachine) -> PyResult { + fn get( + self, + obj: PyObjectRef, + _owner: OptionalArg, + vm: &mut VirtualMachine, + ) -> PyResult { if let Some(getter) = self.getter.as_ref() { if obj.is(&vm.ctx.none) { Ok(self.into_object())