| 1379 | |
| 1380 | #[pymethod] |
| 1381 | fn write_byte(&self, byte: PyObjectRef, vm: &VirtualMachine) -> PyResult<()> { |
| 1382 | let b = value_from_object(vm, &byte)?; |
| 1383 | |
| 1384 | let pos = self.pos(); |
| 1385 | let size = self.__len__(); |
| 1386 | |
| 1387 | if pos >= size { |
| 1388 | return Err(vm.new_value_error("write byte out of range")); |
| 1389 | } |
| 1390 | |
| 1391 | self.try_writable(vm, |mmap| { |
| 1392 | mmap[pos] = b; |
| 1393 | })?; |
| 1394 | |
| 1395 | self.advance_pos(1); |
| 1396 | |
| 1397 | Ok(()) |
| 1398 | } |
| 1399 | |
| 1400 | fn __getitem__(&self, needle: PyObjectRef, vm: &VirtualMachine) -> PyResult<PyObjectRef> { |
| 1401 | self.getitem_inner(&needle, vm) |