cod10129

Results 4 issues of cod10129

`Graph`'s `new` constructor was previously not `const`, and I can't see why. It is useful to have a value of the type constructable at compile-time, which is why `Vec::new` and...

I saw that bench_env and gen_env both give the function to be benchmarked a mutable reference, not the actual value. Is there a reason for this?

Working with numerics in `num-traits` is biased towards using the standard traits, which is generally good. However, checked arithmetic is lacking a unifying trait (like `NumOps`). This PR adds that....

### Test Case ```rust fn main() { use petgraph::Graph; let mut g: Graph = Graph::new(); let i = g.add_node(1); let j = g.add_node(2); let (one, two) = g.index_twice_mut(i, j); dbg!(one);...