mirror of https://github.com/python/cpython
3bb09947ec
Add a new Py_TPFLAGS_DISALLOW_INSTANTIATION type flag to disallow creating type instances: set tp_new to NULL and don't create the "__new__" key in the type dictionary. The flag is set automatically on static types if tp_base is NULL or &PyBaseObject_Type and tp_new is NULL. Use the flag on the following types: * _curses.ncurses_version type * _curses_panel.panel * _tkinter.Tcl_Obj * _tkinter.tkapp * _tkinter.tktimertoken * _xxsubinterpretersmodule.ChannelID * sys.flags type * sys.getwindowsversion() type * sys.version_info type Update MyStr example in the C API documentation to use Py_TPFLAGS_DISALLOW_INSTANTIATION. Add _PyStructSequence_InitType() function to create a structseq type with the Py_TPFLAGS_DISALLOW_INSTANTIATION flag set. type_new() calls _PyType_CheckConsistency() at exit. |
||
---|---|---|
.. | ||
2.0.rst | ||
2.1.rst | ||
2.2.rst | ||
2.3.rst | ||
2.4.rst | ||
2.5.rst | ||
2.6.rst | ||
2.7.rst | ||
3.0.rst | ||
3.1.rst | ||
3.2.rst | ||
3.3.rst | ||
3.4.rst | ||
3.5.rst | ||
3.6.rst | ||
3.7.rst | ||
3.8.rst | ||
3.9.rst | ||
3.10.rst | ||
changelog.rst | ||
index.rst |