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

Method hash

crates/vm/src/builtins/memory.rs:1097–1108  ·  view source on GitHub ↗
(zelf: &Py<Self>, vm: &VirtualMachine)

Source from the content-addressed store, hash-verified

1095
1096impl Hashable for PyMemoryView {
1097 fn hash(zelf: &Py<Self>, vm: &VirtualMachine) -> PyResult<PyHash> {
1098 if let Some(val) = zelf.hash.get() {
1099 return Ok(*val);
1100 }
1101 zelf.try_not_released(vm)?;
1102 if !zelf.desc.readonly {
1103 return Err(vm.new_value_error("cannot hash writable memoryview object"));
1104 }
1105 let val = zelf.contiguous_or_collect(|bytes| vm.state.hash_secret.hash_bytes(bytes));
1106 let _ = zelf.hash.set(val);
1107 Ok(*zelf.hash.get().unwrap())
1108 }
1109}
1110
1111impl PyPayload for PyMemoryView {

Callers

nothing calls this directly

Calls 7

try_not_releasedMethod · 0.80
hash_bytesMethod · 0.80
ErrClass · 0.50
getMethod · 0.45
contiguous_or_collectMethod · 0.45
setMethod · 0.45
unwrapMethod · 0.45

Tested by

no test coverage detected