[Python-ideas] Warn about comparing bytes to int for `python3 -b`

Guido van Rossum guido at python.org
Mon Mar 16 16:16:22 CET 2015


As long as it's part of -b/-bb this sounds like a useful (though small) bit
of help for people in the last throes of porting a big package to PY3. As
for how many false positives it will trigger, who knows? The most likely
case would be if people use dicts whose keys can be bytestrings or ints --
I know that's a popular hobby when it comes to str/int, but I don't know if
it's also common with bytes/int. I guess the only way to find out is to
build and release it.

On Mon, Mar 16, 2015 at 8:11 AM, Brett Cannon <bcannon at gmail.com> wrote:

> One of the rather subtle issues with writing Python 2/3 code is that
> indexing on bytes in Python 2 returns a length-1 bytes object while in
> Python 3 it returns an int. Because ==/!= always returns True/False it can
> be a very subtle failure and tough to track down.
>
> What do people think of extending -b/-bb in Python 3 to warn when
> performing equality between an int and a bytes object of any length? I
> don't want to restrict to length-1 bytes objects because people may be
> doing comparisons where the result can be length-1 or any other length and
> thus would still have a subtle bug to pick up. Do people think this would
> raise a ton of false-positives? Would people find it useful?
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>



-- 
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20150316/c142dadf/attachment.html>


More information about the Python-ideas mailing list