MCPcopy Index your code
hub / github.com/RustPython/RustPython / write

Method write

crates/stdlib/src/mmap.rs:1358–1378  ·  view source on GitHub ↗
(&self, bytes: ArgBytesLike, vm: &VirtualMachine)

Source from the content-addressed store, hash-verified

1356
1357 #[pymethod]
1358 fn write(&self, bytes: ArgBytesLike, vm: &VirtualMachine) -> PyResult<PyIntRef> {
1359 let pos = self.pos();
1360 let size = self.__len__();
1361
1362 let data = bytes.borrow_buf();
1363
1364 if pos > size || size - pos < data.len() {
1365 return Err(vm.new_value_error("data out of range"));
1366 }
1367
1368 let len = self.try_writable(vm, |mmap| {
1369 (&mut mmap[pos..(pos + data.len())])
1370 .write(&data)
1371 .map_err(|err| err.to_pyexception(vm))?;
1372 Ok(data.len())
1373 })??;
1374
1375 self.advance_pos(len);
1376
1377 Ok(PyInt::from(len).into_ref(&vm.ctx))
1378 }
1379
1380 #[pymethod]
1381 fn write_byte(&self, byte: PyObjectRef, vm: &VirtualMachine) -> PyResult<()> {

Callers 2

move_Method · 0.45
setitem_by_sliceMethod · 0.45

Calls 9

try_writableMethod · 0.80
advance_posMethod · 0.80
ErrClass · 0.50
posMethod · 0.45
__len__Method · 0.45
borrow_bufMethod · 0.45
lenMethod · 0.45
to_pyexceptionMethod · 0.45
into_refMethod · 0.45

Tested by

no test coverage detected