summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorMark Dickinson <dickinsm@gmail.com>2010-03-07 16:24:45 (GMT)
committerMark Dickinson <dickinsm@gmail.com>2010-03-07 16:24:45 (GMT)
commit154b7ad07e775f15a0a556c7ec3ae5ab5762ae1e (patch)
tree8102aad436b0b60b7e1a98a376a1257546019898 /Doc
parentc083864fc8a03a045dfc0200e8456996395ad4dc (diff)
downloadcpython-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.rst12
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'``.