Skip to content

Commit a3655d3

Browse files
qingshi163youknowone
authored andcommitted
fix bytearray delitem not raise buffer error
1 parent 9d443bb commit a3655d3

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

vm/src/builtins/bytearray.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ impl PyByteArray {
179179
} else {
180180
bytes_from_object(vm, &value)?
181181
};
182-
if let Ok(mut w) = zelf.try_resizable(vm) {
182+
if let Some(mut w) = zelf.try_resizable_opt() {
183183
w.elements.set_item_by_slice(vm, slice, items.as_slice())
184184
} else {
185185
zelf.borrow_buf_mut()
@@ -227,11 +227,12 @@ impl PyByteArray {
227227

228228
pub fn _delitem(&self, needle: &PyObject, vm: &VirtualMachine) -> PyResult<()> {
229229
match SequenceIndex::try_from_borrowed_object(vm, needle)? {
230-
SequenceIndex::Int(i) => self.borrow_buf_mut().del_item_by_index(vm, i),
230+
SequenceIndex::Int(i) => self.try_resizable(vm)?.elements.del_item_by_index(vm, i),
231231
SequenceIndex::Slice(slice) => {
232232
// TODO: delete 0 elements don't need resizable
233-
let elements = &mut self.try_resizable(vm)?.elements;
234-
elements.del_item_by_slice(vm, slice)
233+
self.try_resizable(vm)?
234+
.elements
235+
.del_item_by_slice(vm, slice)
235236
}
236237
}
237238
}

0 commit comments

Comments
 (0)