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

Brett Cannon bcannon at gmail.com
Mon Mar 16 18:06:44 CET 2015


http://bugs.python.org/issue23681 to track this for Python 3.5.

On Mon, Mar 16, 2015 at 11:16 AM Guido van Rossum <guido at python.org> wrote:

> 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/e8a154c4/attachment-0001.html>


More information about the Python-ideas mailing list