@@ -6,7 +6,7 @@ use crate::{
66 class:: PyClassImpl ,
77 function:: { IntoPyGetterFunc , IntoPySetterFunc , PyGetterFunc , PySetterFunc , PySetterValue } ,
88 types:: { Constructor , GetDescriptor , Unconstructible } ,
9- AsObject , Context , Py , PyObjectRef , PyPayload , PyRef , PyResult , TryFromObject , VirtualMachine ,
9+ AsObject , Context , Py , PyObject , PyObjectRef , PyPayload , PyResult , VirtualMachine ,
1010} ;
1111
1212#[ pyclass( module = false , name = "getset_descriptor" ) ]
@@ -51,9 +51,9 @@ impl GetDescriptor for PyGetSet {
5151 _cls : Option < PyObjectRef > ,
5252 vm : & VirtualMachine ,
5353 ) -> PyResult {
54- let ( zelf, obj) = match Self :: _check ( zelf, obj, vm) {
55- Ok ( obj) => obj,
56- Err ( result ) => return result ,
54+ let ( zelf, obj) = match Self :: _check ( & zelf, obj, vm) {
55+ Some ( obj) => obj,
56+ None => return Ok ( zelf ) ,
5757 } ;
5858 if let Some ( ref f) = zelf. getter {
5959 f ( vm, obj)
@@ -100,12 +100,12 @@ impl PyGetSet {
100100
101101 #[ pyslot]
102102 fn descr_set (
103- zelf : PyObjectRef ,
103+ zelf : & PyObject ,
104104 obj : PyObjectRef ,
105105 value : PySetterValue < PyObjectRef > ,
106106 vm : & VirtualMachine ,
107107 ) -> PyResult < ( ) > {
108- let zelf = PyRef :: < Self > :: try_from_object ( vm, zelf ) ?;
108+ let zelf = zelf . try_to_ref :: < Self > ( vm) ?;
109109 if let Some ( ref f) = zelf. setter {
110110 f ( vm, obj, value)
111111 } else {
@@ -123,11 +123,11 @@ impl PyGetSet {
123123 value : PyObjectRef ,
124124 vm : & VirtualMachine ,
125125 ) -> PyResult < ( ) > {
126- Self :: descr_set ( zelf, obj, PySetterValue :: Assign ( value) , vm)
126+ Self :: descr_set ( & zelf, obj, PySetterValue :: Assign ( value) , vm)
127127 }
128128 #[ pymethod]
129129 fn __delete__ ( zelf : PyObjectRef , obj : PyObjectRef , vm : & VirtualMachine ) -> PyResult < ( ) > {
130- Self :: descr_set ( zelf, obj, PySetterValue :: Delete , vm)
130+ Self :: descr_set ( & zelf, obj, PySetterValue :: Delete , vm)
131131 }
132132
133133 #[ pygetset( magic) ]
0 commit comments