Property array is not updated after a shrink_to_fit() call

Hello, (First thanks for the tool, I've been using it since two weeks now, and its really nice.)

I encounter the following issue: First I create a graph and add some edges and an edge property. Then, if I remove some edge and call the shrink_to_fit, it resize the a array of the property. But if I re-add an edge, it is not added in the a array until I call again shrink_to_fit. Is this a intentioned behaviour ?

Example:

g = Graph()  
g.add_edge(0,1)
g.add_edge(0,2)
g.add_edge(0,3)
w = g.new_ep('int')
len(w.a) == 3 # true
g.remove_edge(g.edge(0,3))
g.shrink_to_fit()
len(w.a) == 2 # true
g.add_edge(1,0)
len(w.a) == 3 # false
  

I have a related problem when removing edges with remove_parallel_edges(). The size of the property array is not updated after the removal. Moreover, when getting a new edge property with g.new_ep(), the property array has a size corresponding to the graph before the removal...

Edited by dulac