diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2010-03-07 16:24:45 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2010-03-07 16:24:45 (GMT) |
commit | 154b7ad07e775f15a0a556c7ec3ae5ab5762ae1e (patch) | |
tree | 8102aad436b0b60b7e1a98a376a1257546019898 /Doc | |
parent | c083864fc8a03a045dfc0200e8456996395ad4dc (diff) | |
download | cpython-154b7ad07e775f15a0a556c7ec3ae5ab5762ae1e.zip cpython-154b7ad07e775f15a0a556c7ec3ae5ab5762ae1e.tar.gz cpython-154b7ad07e775f15a0a556c7ec3ae5ab5762ae1e.tar.bz2 |
Issue #1530559: When packing a non-integer with any integer conversion
code using struct.pack, attempt to convert to an integer first using
the argument's __int__ method (if present). Also raise a
DeprecationWarning for any such usage of __int__.
This fixes a regression from 2.6, where some (but not all) integer
conversion codes already used __int__.
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/struct.rst | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Doc/library/struct.rst b/Doc/library/struct.rst index a115c1d..3664e35 100644 --- a/Doc/library/struct.rst +++ b/Doc/library/struct.rst @@ -123,6 +123,18 @@ Notes: .. versionadded:: 2.2 +(3) + When attempting to pack a non-integer using any of the integer conversion + codes, the non-integer's :meth:`__int__` method (if present) will be called + to convert to an integer before packing. However, this behaviour is + deprecated, and will raise :exc:`DeprecationWarning`. + + .. versionchanged:: 2.7 + Prior to version 2.7, not all integer conversion codes would use the + :meth:`__int__` method to convert, and :exc:`DeprecationWarning` was + raised only for float arguments. + + A format character may be preceded by an integral repeat count. For example, the format string ``'4h'`` means exactly the same as ``'hhhh'``. |