[Python-Dev] Call PyType_Ready on builtin types during interpreter startup?

Nick Coghlan ncoghlan at gmail.com
Sun Dec 28 13:46:29 CET 2008


Nick Coghlan wrote:
> Rather than playing whack-a-mole with this, does anyone have any ideas
> on how to systematically find types which are defined in the core, but
> are missing an explicit PyType_Ready call? (I guess one way would be to
> remove all the implicit calls in a local build and see what blows up...
> that seems a little drastic though)

The whack-a-mole tactic did pick up a couple more though - the two
"builtin" types that iter() can return (the basic sequence iterator and
the callable with sentinel result iterator).

Perhaps the path of least resistance is to change PyObject_Hash to be
yet another place where PyType_Ready will be called implicitly if it
hasn't been called already?

That approach would get us back to the Python 2.x status quo where
calling PyType_Ready was only absolutely essential if you wanted to
correctly inherit a slot from a type other than object itself.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------


More information about the Python-Dev mailing list