# New Ticket Created by  Zefram 
# Please include the string:  [perl #132033]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=132033 >


Since commit 167a0edf, Set.WHICH now hashes the concatenated .WHICHes
of the set's elements, producing a fixed-size output.  This inevitably
means that some sets that would otherwise have had distinct .WHICH values
will now clash.  I can't give an example, because doing so would require
constructing a SHA-1 clash, but it is inevitable that clashes will occur
by this route.  Since === on Sets follows .WHICH, it will perceive Sets
to be identical based on hash coincidences.  The hashing means that ===
can only perceive 2**160 distinct Set identities.

This is distinct from the problem of Set.WHICH clashes arising from
distinct sets of element .WHICHes concatenating to the same string,
previously reported as [perl #128943].

-zefram

Reply via email to