On 31/07/2018 09:16, Paul Moore wrote:
On 31 July 2018 at 08:40, Robin Becker <ro...@reportlab.com> wrote:
A bitbucket user complains that python 3.6.6 with -Wall -b prints warnings
for some reportlab code; the
example boils down to the following
##########
C:\code\hg-repos\reportlab\tmp>cat tb.py
if __name__=='__main__':
d={'a':1}
d[b'a'] = d['a']
##########
..........
v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
b'a' == 'a'
True
b'a' == u'a'
True
which is basically the sort of thing that -b should warn about.
Specifically the quoted code would end up with a dictionary with 2
entries on Python 3, but 1 entry on Python 2.
Paul
yes but I didn't do the compare so this warning seems entirely spurious and wrong. It's not an error to put 1 and 1.0 and 'a' into
a dict. Should I get a warning if the hashes of two different types happen to clash so that an int needs to be checked against a
string?
--
Robin Becker
--
https://mail.python.org/mailman/listinfo/python-list