bulbs
bulbs copied to clipboard
Identical vertices are equal but not identical
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__.