To enable further optimizations in CPython, this PEP proposes that the
``ma_version_tag`` field no longer conform to the :pep:`509` specification.
This will allow the CPython developers to store other optimization information,
such as dictionary write watchers.
Rationale
=========
This PEP does not specify what the field may be used for in the future. This is
intentional, as implementation details are subject to change, and the field
should be used only for internal consumption by CPython.
Specification
=============
This specification rescinds that in :pep:`509`. The ``ma_version_tag`` field of
the Python :class:`dict` class is declared to be an internal implementation
detail and may be removed altogether, or may have a different representation.
C extensions should not rely on this field.
Backwards Compatibility
=======================
Certain extensions use ``ma_version_tag`` for fast dictionary or globals
lookups. For example,
`Cython uses the field for fast dynamic module variable lookups <https://github.com/cython/cython/blob/169876872f3cb6198971a1db07e5b8a9d12b3dac/Cython/Utility/ObjectHandling.c#L1556>`_.