]> granicus.if.org Git - python/commitdiff
Add news about FutureWarning and PEP 237 stage B0.
authorGuido van Rossum <guido@python.org>
Wed, 14 Aug 2002 16:11:30 +0000 (16:11 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 14 Aug 2002 16:11:30 +0000 (16:11 +0000)
Tim predicts that we might as well call this CassandraWarning.

Misc/NEWS

index ba9bf3c89b39476b10a5c549d6c2f50be4febcff..0a97187849fdd8fd13844c001b82c19123eb9e8d 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -57,6 +57,29 @@ Type/class unification and new-style classes
 
 Core and builtins
 
+- There's a new warning category, FutureWarning.  This is used to warn
+  about a number of situations where the value or sign of an integer
+  result will change in Python 2.4 as a result of PEP 237 (integer
+  unification).  The warnings implement stage B0 mentioned in that
+  PEP.  The warnings are about the following situations:
+
+    - Octal and hex literals without 'L' prefix in the inclusive range
+      [0x80000000..0xffffffff]; these are currently negative ints, but
+      in Python 2.4 they will be positive longs with the same bit
+      pattern.
+
+    - Left shifts on integer values that cause the outcome to lose
+      bits or have a different sign than the left operand.  To be
+      precise: x<<n where this currently doesn't yield the same value
+      as long(x)<<n; in Python 2.4, the outcome will be long(x)<<n.
+
+    - Conversions from ints to string that show negative values as
+      unsigned ints in the inclusive range [0x80000000..0xffffffff];
+      this affects the functions hex() and oct(), and the string
+      formatting codes %u, %o, %x, and %X.  In Python 2.4, these will
+      show signed values (e.g. hex(-1) currently returns "0xffffffff";
+      in Python 2.4 it will return "-0x1").
+
 - When multiplying very large integers, a version of the so-called
   Karatsuba algorithm is now used.  This is most effective if the
   inputs have roughly the same size.  If they both have about N digits,