mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-28 18:59:04 +08:00
Add seekable() to mmap.mmap (#8405)
* Allow mmap-backed readers to identify seek support mmap already supports seek() and tell(); expose seekable() to match CPython. Confidence: high Scope-risk: narrow Tested: test_mmap, stdlib_mmap snippet, clippy, prek, extra_tests Not-tested: full workspace test blocked by local rustpython-capi SIGSEGV Assisted-by: Codex:gpt-5.6-sol * Keep mmap regression test lint-clean CI ruff check removes the redundant blank line and treats the auto-fix as a failure. Constraint: CI runs prek with ruff check Confidence: high Scope-risk: narrow Tested: prek run --all-files; cargo run -- extra_tests/snippets/stdlib_mmap.py Assisted-by: Codex:gpt-5.6-sol * Keep mmap seekability method conventional The method is invoked at runtime through the Python wrapper, so const qualification provides no benefit. Constraint: Python methods execute at runtime Confidence: high Scope-risk: narrow Tested: prek run --all-files; cargo run -- extra_tests/snippets/stdlib_mmap.py Assisted-by: Codex:gpt-5.6-sol
This commit is contained in:
1 parent
bf4a2b110c
commit
942ddae1c5
2 files changed
+11
No files matched your search
@@ -1141,6 +1141,11 @@ mod mmap {
|
||||
self.pos()
|
||||
}
|
||||
|
||||
#[pymethod]
|
||||
fn seekable(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
#[pymethod]
|
||||
fn write(&self, bytes: ArgBytesLike, vm: &VirtualMachine) -> PyResult<PyIntRef> {
|
||||
let pos = self.pos();
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
import mmap
|
||||
|
||||
mapped = mmap.mmap(-1, 1)
|
||||
assert mapped.seekable()
|
||||
mapped.close()
|
||||
assert mapped.seekable()
|
||||
Reference in new issue
Block a user