Skip to content

Commit b1dd583

Browse files
committed
Simpler implementation of ItemProtocol for PyDictRef.
1 parent e2a4f22 commit b1dd583

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

vm/src/obj/objdict.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ impl PyDictRef {
229229

230230
impl ItemProtocol for PyDictRef {
231231
fn get_item<T: IntoPyObject>(&self, key: T, vm: &VirtualMachine) -> PyResult {
232-
vm.call_method(self.as_object(), "__getitem__", key.into_pyobject(vm)?)
232+
self.as_object().get_item(key, vm)
233233
}
234234

235235
fn set_item<T: IntoPyObject>(
@@ -238,15 +238,11 @@ impl ItemProtocol for PyDictRef {
238238
value: PyObjectRef,
239239
vm: &VirtualMachine,
240240
) -> PyResult {
241-
vm.call_method(
242-
self.as_object(),
243-
"__setitem__",
244-
vec![key.into_pyobject(vm)?, value],
245-
)
241+
self.as_object().set_item(key, value, vm)
246242
}
247243

248244
fn del_item<T: IntoPyObject>(&self, key: T, vm: &VirtualMachine) -> PyResult {
249-
vm.call_method(self.as_object(), "__delitem__", key.into_pyobject(vm)?)
245+
self.as_object().del_item(key, vm)
250246
}
251247
}
252248

0 commit comments

Comments
 (0)