gh-95914: Add What's New item describing PEP 670 changes (GH-98315)

(cherry picked from commit aafc53c0a6)

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
This commit is contained in:
Miss Islington (bot) 2022-10-17 12:25:18 -07:00 committed by GitHub
parent 211b8193ca
commit f4a0b80250
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1899,6 +1899,17 @@ New Features
Porting to Python 3.11 Porting to Python 3.11
---------------------- ----------------------
* Some macros have been converted to static inline functions to avoid
`macro pitfalls <https://gcc.gnu.org/onlinedocs/cpp/Macro-Pitfalls.html>`_.
The change should be mostly transparent to users,
as the replacement functions will cast their arguments to the expected types
to avoid compiler warnings due to static type checks.
However, when the limited C API is set to >=3.11,
these casts are not done,
and callers will need to cast arguments to their expected types.
See :pep:`670` for more details.
(Contributed by Victor Stinner and Erlend E. Aasland in :gh:`89653`.)
* :c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback`` * :c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback``
arguments, the interpreter now derives those values from the exception arguments, the interpreter now derives those values from the exception
instance (the ``value`` argument). The function still steals references instance (the ``value`` argument). The function still steals references