On Mon, Jan 2, 2012 at 7:16 PM, PJ Eby <p...@telecommunity.com> wrote:
> On Mon, Jan 2, 2012 at 4:07 PM, Jim Jewett <jimjjew...@gmail.com> wrote:

>> But the public header file <
>> http://hg.python.org/cpython/file/3ed5a6030c9b/Include/dictobject.h >
>> defines the typedef structs for PyDictEntry and _dictobject.

>> What is the purpose of the requiring a "real dict" without also
>> promising what the header file promises?

> Er, just because it's in the .h doesn't mean it's in the public API.  But in
> any event, if you're actually serious about this, I'd just point out that:

> 1. The struct layout doesn't guarantee anything about insertion or lookup
> algorithms,

My concern was about your suggestion of changing the data structure to
accommodate some other algorithm -- particularly if it meant that  the
data would no longer be stored entirely in an array of PyDictEntry.

That shouldn't be done lightly even between major versions, and
certainly should not be done in a bugfix (or security-only) release.

> Are you seriously writing code that relies on the C structure layout of
> dicts?

The first page of search results for PyDictEntry suggested that others
are.  (The code I found did seem to be for getting data from a python
dict into some other language, rather than for wsgi.)

>  Because really, that was SO not the point of the dict type
> requirement.  It was so that you could use Python's low-level *API* calls,
> not muck about with the data structure directly.

Would it be too late to clarify that in the PEP itself?

-jJ
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to