Skip to content

Commit 69e46c4

Browse files
committed
fix mmap
1 parent 247fdcf commit 69e46c4

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

stdlib/src/mmap.rs

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -431,12 +431,12 @@ mod mmap {
431431
|mapping, _vm| Ok(PyMmap::mapping_downcast(mapping).__len__())
432432
),
433433
subscript: atomic_func!(|mapping, needle, vm| {
434-
PyMmap::mapping_downcast(mapping)._getitem(needle, vm)
434+
PyMmap::mapping_downcast(mapping).getitem_inner(needle, vm)
435435
}),
436436
ass_subscript: atomic_func!(|mapping, needle, value, vm| {
437437
let zelf = PyMmap::mapping_downcast(mapping);
438438
if let Some(value) = value {
439-
PyMmap::_setitem(zelf, needle, value, vm)
439+
PyMmap::setitem_inner(zelf, needle, value, vm)
440440
} else {
441441
Err(vm
442442
.new_type_error("mmap object doesn't support item deletion".to_owned()))
@@ -897,6 +897,21 @@ mod mmap {
897897
Ok(())
898898
}
899899

900+
#[pymethod]
901+
fn __getitem__(&self, needle: PyObjectRef, vm: &VirtualMachine) -> PyResult<PyObjectRef> {
902+
self.getitem_inner(&needle, vm)
903+
}
904+
905+
#[pymethod]
906+
fn __setitem__(
907+
zelf: &Py<Self>,
908+
needle: PyObjectRef,
909+
value: PyObjectRef,
910+
vm: &VirtualMachine,
911+
) -> PyResult<()> {
912+
Self::setitem_inner(zelf, &needle, value, vm)
913+
}
914+
900915
#[pymethod]
901916
fn __enter__(zelf: &Py<Self>, vm: &VirtualMachine) -> PyResult<PyRef<Self>> {
902917
let _m = zelf.check_valid(vm)?;
@@ -963,14 +978,14 @@ mod mmap {
963978
Ok(PyBytes::from(result_buf).into_ref(&vm.ctx).into())
964979
}
965980

966-
fn _getitem(&self, needle: &PyObject, vm: &VirtualMachine) -> PyResult<PyObjectRef> {
981+
fn getitem_inner(&self, needle: &PyObject, vm: &VirtualMachine) -> PyResult<PyObjectRef> {
967982
match SequenceIndex::try_from_borrowed_object(vm, needle, "mmap")? {
968983
SequenceIndex::Int(i) => self.getitem_by_index(i, vm),
969984
SequenceIndex::Slice(slice) => self.getitem_by_slice(&slice, vm),
970985
}
971986
}
972987

973-
fn _setitem(
988+
fn setitem_inner(
974989
zelf: &Py<Self>,
975990
needle: &PyObject,
976991
value: PyObjectRef,

0 commit comments

Comments
 (0)