bulbs icon indicating copy to clipboard operation
bulbs copied to clipboard

Identical vertices are equal but not identical

Open barraponto opened this issue 11 years ago • 0 comments

If you lookup the same vertex (or edge) twice:

V_a = graph.vertices.index.lookup(somelabel=someid).next()
V_b = graph.vertices.index.lookup(somelabel=someid).next()

Then they're considered equal:

V_a == V_b # true

But not identical:

V_a is V_b # false

A consequence of this behavior is that set([V_a, V_b]) will return a set with two equal elements although I would expect only one.

This comes from bulbs.element.Element implementing __eq__ but not __hash__.

barraponto avatar Oct 21 '14 22:10 barraponto