]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.15] gh-121249: Soft deprecate F and D struct format types (#149346) (#152274)
authorVictor Stinner <vstinner@python.org>
Fri, 26 Jun 2026 14:26:52 +0000 (16:26 +0200)
committerGitHub <noreply@github.com>
Fri, 26 Jun 2026 14:26:52 +0000 (16:26 +0200)
gh-121249: Soft deprecate F and D struct format types (#149346)

Remove F/D type codes from table in the struct module documentation.

(cherry picked from commit 5f17434a1ec9a121eb38f71dc3d5809020b5fbb4)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Doc/deprecations/soft-deprecations.rst
Doc/library/struct.rst
Doc/whatsnew/3.15.rst

index a270052788ef2a1082d1dda6734f5ae698279952..d1dd2b2d8c520d6df08e7ee65209b35005637d72 100644 (file)
@@ -19,3 +19,8 @@ There are no plans to remove :term:`soft deprecated` APIs.
 
   (Contributed by Gregory P. Smith in :gh:`86519` and
   Hugo van Kemenade in :gh:`148100`.)
+
+* Using ``'F'`` and ``'D'`` format type codes of the :mod:`struct` module
+  now are :term:`soft deprecated` in favor of two-letter forms ``'Zf'``
+  and ``'Zd'``.
+  (Contributed by Sergey B Kirpichev in :gh:`121249`.)
index 05662c6c2d898d763087075d87dfa80082de2dcb..ef535e3ca6e8820d6b04471be89937a7c55c53a0 100644 (file)
@@ -260,10 +260,6 @@ platform-dependent.
 +--------+--------------------------+--------------------+----------------+------------+
 | ``d``  | :c:expr:`double`         | float              | 8              | \(4)       |
 +--------+--------------------------+--------------------+----------------+------------+
-| ``F``  | :c:expr:`float complex`  | complex            | 8              | \(10)      |
-+--------+--------------------------+--------------------+----------------+------------+
-| ``D``  | :c:expr:`double complex` | complex            | 16             | \(10)      |
-+--------+--------------------------+--------------------+----------------+------------+
 | ``Zf`` | :c:expr:`float complex`  | complex            | 8              | \(10)      |
 +--------+--------------------------+--------------------+----------------+------------+
 | ``Zd`` | :c:expr:`double complex` | complex            | 16             | \(10)      |
@@ -286,6 +282,7 @@ platform-dependent.
 
 .. versionchanged:: 3.15
    Added support for the ``'Zf'`` and ``'Zd'`` formats.
+   ``'F'`` and ``'D'`` formats are :term:`soft deprecated`.
 
 .. seealso::
 
@@ -376,13 +373,15 @@ Notes:
    are accepted.
 
 (10)
-   For the ``'F'`` and ``'D'`` format characters, the packed representation uses
+   For the ``'Zf'`` and ``'Zd'`` type codes, the packed representation uses
    the IEEE 754 binary32 and binary64 format for components of the complex
    number, regardless of the floating-point format used by the platform.
-   Note that complex types (``F``/``Zf`` and ``D``/``Zd``) are available unconditionally,
+   Note that complex types are available unconditionally,
    despite complex types being an optional feature in C.
    As specified in the C11 standard, each complex type is represented by a
    two-element C array containing, respectively, the real and imaginary parts.
+   The ``'F'`` and ``'D'`` (for ``'Zf'`` and ``'Zd'``, respectively) format
+   characters are supported for compatibility.
 
 
 A format character may be preceded by an integral repeat count.  For example,
index 88b238c709dd0e3757a1ebaba84395cf426b57bb..bad9e2d8dff37f66ad10414c97fc66b3659e1731 100644 (file)
@@ -2280,6 +2280,11 @@ New deprecations
 
     (Contributed by Sergey B Kirpichev and Serhiy Storchaka in :gh:`143715`.)
 
+  * Using ``'F'`` and ``'D'`` type codes now are :term:`soft deprecated`
+    in favor of two-letter forms ``'Zf'`` and ``'Zd'``.
+    (Contributed by Sergey B Kirpichev in :gh:`121249`.)
+
+
 * :mod:`typing`:
 
   * The following statements now cause ``DeprecationWarning``\ s to be emitted