Hi,
it does not look like a good hash (in term of probability of collisions) and would deserve a revision.
But what problem did you detect wrt equality?
The implication is this way:
���� self assert: (a = b) ==> (a hash = b hash)
Since the element hash are bitXor'ed, the resulting hash will be independent of ordering of elements.
It will thus work for unordered collections (like Set in which ordering depends on container size).
(and badly for others if they omit to refine hash).
Or is it because Collection of different species could be equal?
Nicolas