Are dicts supposed to raise comparison errors
robin at reportlab.com
Tue Jul 31 04:32:53 EDT 2018
On 31/07/2018 09:16, Paul Moore wrote:
> On 31 July 2018 at 08:40, Robin Becker <robin at 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[b'a'] = d['a']
> v.1500 64 bit (AMD64)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
>>>> b'a' == 'a'
>>>> b'a' == u'a'
> 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.
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
More information about the Python-list