Message114380
> It's worth noting that this warning is dependent on hash() producing
> the same values for 'equivalent' bytes and str instances. This seems
> a bit fragile, and is something that could potentially change in the
> future---with bytes and str comparing unequal, there's no reason for
> the hashes to correspond.
>
> (It might even make sense to deliberately change the hash for either
> bytes or str so that it doesn't match the other, just to expose any
> bugs that rely on the hashes being identical.)
Actually, no, the "consistency" of hashes is necessary for the
BytesWarning to be useful with dicts. Because the situations it is meant
to uncover are those where e.g. you have "A" as a key and you are
looking up b"A".
(you don't really care, on the other hand, if you are looking up b"A" in
a dict which has only "B"; and, yes, I know there will still be false
positives :-)) |
|
Date |
User |
Action |
Args |
2010-08-19 17:18:42 | pitrou | set | recipients:
+ pitrou, mark.dickinson, vstinner, ezio.melotti, flox |
2010-08-19 17:18:40 | pitrou | link | issue9636 messages |
2010-08-19 17:18:39 | pitrou | create | |
|