Is it always expected that foo[i] == collect(foo)[i]? I'm running into a bit of an issue with undirected graphs where this may not be the case for collections of graph edges, and I'm wondering how much time I should sink into fixing a problem that might not even exist.
The discrepancy is with an edge (s,d) where s > d - in the iterator they're ignored in undirected graphs since we represent it as d,s in this case (smaller vertex first), but in the adjacency list that is used to build the getindex, they're both there. So we can have Edge(20,10) in edges(graph) be true, but Edge(20,10) in collect(edges(graph)) be false (Edge(10,20) will be in the collection). Thanks for any input.
