Skip to content

Commit c3af2bb

Browse files
committed
Make memoryview.__hash__() returns hash value of wrapped object
1 parent c8e6ca7 commit c3af2bb

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

tests/snippets/memoryview.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@
44
assert a.obj == obj
55

66
assert a[2:3] == b"c"
7+
8+
assert hash(obj) == hash(a)

vm/src/obj/objmemory.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ impl PyMemoryView {
3434
self.obj_ref.clone()
3535
}
3636

37+
#[pymethod(name = "__hash__")]
38+
fn hash(&self, vm: &VirtualMachine) -> PyResult {
39+
vm.call_method(&self.obj_ref, "__hash__", vec![])
40+
}
41+
3742
#[pymethod(name = "__getitem__")]
3843
fn getitem(&self, needle: PyObjectRef, vm: &VirtualMachine) -> PyResult {
3944
vm.call_method(&self.obj_ref, "__getitem__", vec![needle])

0 commit comments

Comments
 (0)