Description
What is the expected enhancement?
This would be a breaking change to the interface, but token_swapper
currently returns (NodeIndex, NodeIndex)
as its swaps for a graph g: impl NodeIndexable
where it's arranged that g.to_index(n.index())
is the way of converting a n: NodeIndex
back to the input graph's NodeId
.
Given that the mapping of the NodeIndex
back to G::NodeId
must be possible and known to the token_swapper
, it would be more convenient to use if token_swapper
returned its answer in this form.
(side note: there's an internal HashMap
that tracks this mapping that's unnecessary, given how the inner StableGraph
is constructed. (side side note: that mapping needn't be a HashMap
and the graph needn't be a StableGraph
with holes - could use a compact Graph
and a [G::NodeId]
as the map back))