[Python-Dev] Unclear on the way forward with unsigned integers
Tim Peters
tim.one@comcast.net
Mon, 07 Oct 2002 10:45:53 -0400
[Mark Hammond]
> While this case seems quite trivial, I am starting to face this issue
> more and more, especially as I am seeing these lovely "FutureWarnings"
> from all my lovely 32 bit hexadecimal constants <wink/frown>
[Tim]
> Sticking "L" at the end is usually all it takes.
[Thomas Heller]
> That removes the warnings for 'x = 0x80000000L'.
What else do you think Mark may have meant by "32 bit hexadecimal
constants"?
> Is there a way (other than the -w command-line arg)
> to suppress the warnings when doing 'hex(-1)'?
The result of that is also currently platform-dependent, so you need to say
what you mean in a platform-independent way. It's likely that you meant
hex(-1 & 0xffffffffL)
or, more directly,
hex(0xffffffffL)
but that someone on a 64-bit box meant something other than that.
> Shouldn't there be a __future__ option?
You seem to want most of all to avoid warning msgs, but __future__ options
don't accomplish that: it's the *point* of __future__ thingies to spit out
warnings about semantics that are going to change.
I don't know that it's a useful point, though. That is, the only comments
I've seen about __future__ from users in practice is from those who are
annoyed by needing to say "__future__" all over the place to get at the new
features they want right away. Alas, I haven't seen evidence that it eases
migration. That could be because it works so well people don't feel a need
to comment about it, but somehow that seems a tad unlikely <wink>.