* Add PEP-0604 to describes an extension to Python language, which aims to add a complementary
syntax to write ``Union[X,Y]`` and ``Optional[X]`` easier.
* Add sample with metaclass with __invert__ and/or __or__
* Remove operator __revert__
Add a new struct_size field to PyPreConfig and PyConfig structures to
allow to modify these structures in the future without breaking the
backward compatibility.
Remove _config_version fields, replaced by struct_size.
Facebook Research has now funded implementation of
cryptographic signing of packages on PyPI. Per
https://github.com/pypa/warehouse/issues/5247#issuecomment-535278176
this means that PEP 458 now moves out of Deferred
status and into Draft status.
Since the PEP was created, the BDFL-Delegate for
PyPI-related PEPs has shifted, and Donald Stufft
is now the Delegate.
* Remove stray reference to `ht_moduleptr`
* Update copyright info
* Remove the new slot for offsets
* Remove note on removed internal functions
* Remove stray reference to Py_TPFLAGS_HEAP_IMMUTABLE
The PEP's previous handling of the micro version compatibility
testing question really wasn't very good, and didn't address the
question of pickle compatibility at all.
So if this idea is going to be considered seriously, it needs
to provide a way to explicitly opt out of the feature additions,
without having to downgrade back to an earlier point release.
* Rewrite section on passing the "defining class" into C methods.
* Remove proposal for immutable heap exception types. Let's leave those to another PEP
* Restrict METH_METHOD to a single calling convention.
This calling convention should be efficient, so also reduce the Optimization section.
* Set names in monospaced font
* Use `nargsf` for the vectorcall "number of args + flag" argument
* Link "per-module state" to the terminology section
* Adjust link to Marcel's current implementation
* Other minor rewordings
https://github.com/python/peps/pull/1159
- switch from the new `TargetScopeError` to a plain `SyntaxError`
as per referenced python-dev discussion
- clarify rationale for those extra SyntaxError cases (we don't
want current CPython implementation details to implicitly leak into
the "do what CPython does" de facto language specification)
- broaden one of the error cases to handle the fact that CPython's
symbol table analysis for a comprehension involves two different
scopes and hence makes it difficult to detect when the target of
a named expression in the iterable expression gets re-used as an
iteration variable in the comprehension
- note that even dead code affects the symbol analysis pass