Commit 72bdf8b1 authored by Neil Schemenauer's avatar Neil Schemenauer

Document one of the many problems with the buffer object.

parent 305c1cca
......@@ -228,10 +228,17 @@ buffer_hash(PyBufferObject *self)
if ( self->b_hash != -1 )
return self->b_hash;
/* XXX potential bugs here, a readonly buffer does not imply that the
* underlying memory is immutable. b_readonly is a necessary but not
* sufficient condition for a buffer to be hashable. Perhaps it would
* be better to only allow hashing if the underlying object is known to
* be immutable (e.g. PyString_Check() is true). Another idea would
* be to call tp_hash on the underlying object and see if it raises
* an error. */
if ( !self->b_readonly )
{
/* ### use different wording, since this is conditional? */
PyErr_SetString(PyExc_TypeError, "unhashable type");
PyErr_SetString(PyExc_TypeError,
"writable buffers are not hashable");
return -1;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment