PEP 682: small additions (#2322)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
This commit is contained in:
parent
cc5c674b51
commit
88c65146e7
14
pep-0682.rst
14
pep-0682.rst
|
@ -111,8 +111,13 @@ std::format()`_. While the proposal was withdrawn for C++20, a consensus
|
||||||
proposal is promised for C++23. (The original `feature request`_ prompting
|
proposal is promised for C++23. (The original `feature request`_ prompting
|
||||||
this PEP was argued without knowledge of the C++ proposal.)
|
this PEP was argued without knowledge of the C++ proposal.)
|
||||||
|
|
||||||
|
When Rust developers debated whether to suppress negative zero in ``print``
|
||||||
|
output, they took a small `survey of other languages`_. Notably, it didn't
|
||||||
|
mention any language providing an option for negative zero handling.
|
||||||
|
|
||||||
.. _`proposed for C++ std::format()`: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1496r2.pdf
|
.. _`proposed for C++ std::format()`: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1496r2.pdf
|
||||||
.. _`feature request`: https://bugs.python.org/issue45995
|
.. _`feature request`: https://bugs.python.org/issue45995
|
||||||
|
.. _`survey of other languages`: https://github.com/rust-lang/rfcs/issues/1074#issuecomment-718243936
|
||||||
|
|
||||||
|
|
||||||
Specification
|
Specification
|
||||||
|
@ -125,7 +130,8 @@ An optional, literal ``z`` is added to the
|
||||||
|
|
||||||
[[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
|
[[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
|
||||||
|
|
||||||
where ``z`` is allowed for numerical types other than integer. Support for
|
where ``z`` is allowed for floating-point presentation types (``f``, ``g``,
|
||||||
|
etc., as defined by the format specification documentation). Support for
|
||||||
``z`` is provided by the ``.__format__()`` method of each numeric type,
|
``z`` is provided by the ``.__format__()`` method of each numeric type,
|
||||||
allowing the specifier to be used in f-strings, built-in ``format()``, and
|
allowing the specifier to be used in f-strings, built-in ``format()``, and
|
||||||
``str.format()``. The %-formatting style will not support the new option.
|
``str.format()``. The %-formatting style will not support the new option.
|
||||||
|
@ -159,6 +165,12 @@ the new option, %-formatting cannot. There is already precedent for not
|
||||||
extending %-formatting with new options, as was the case for the
|
extending %-formatting with new options, as was the case for the
|
||||||
``,`` option (:pep:`378`).
|
``,`` option (:pep:`378`).
|
||||||
|
|
||||||
|
C99 ``printf`` already uses the ``z`` option character for another
|
||||||
|
purpose: qualifying the unsigned type (``u``) to match the length of
|
||||||
|
``size_t``. However, since the signed zero option specifically disallows
|
||||||
|
``z`` for integer presentation types, it's possible to disambiguate the two
|
||||||
|
uses, should C want to adopt this new option.
|
||||||
|
|
||||||
|
|
||||||
Backwards Compatibility
|
Backwards Compatibility
|
||||||
=======================
|
=======================
|
||||||
|
|
Loading…
Reference in New Issue