]> git.lizzy.rs Git - rust.git/blob - src/librustc_data_structures/graph/reference.rs
Rollup merge of #56217 - frewsxcv:frewsxcv-float-parse, r=QuietMisdreavus
[rust.git] / src / librustc_data_structures / graph / reference.rs
1 use super::*;
2
3 impl<'graph, G: DirectedGraph> DirectedGraph for &'graph G {
4     type Node = G::Node;
5 }
6
7 impl<'graph, G: WithNumNodes> WithNumNodes for &'graph G {
8     fn num_nodes(&self) -> usize {
9         (**self).num_nodes()
10     }
11 }
12
13 impl<'graph, G: WithStartNode> WithStartNode for &'graph G {
14     fn start_node(&self) -> Self::Node {
15         (**self).start_node()
16     }
17 }
18
19 impl<'graph, G: WithSuccessors> WithSuccessors for &'graph G {
20     fn successors<'iter>(&'iter self, node: Self::Node) -> <Self as GraphSuccessors<'iter>>::Iter {
21         (**self).successors(node)
22     }
23 }
24
25 impl<'graph, G: WithPredecessors> WithPredecessors for &'graph G {
26     fn predecessors<'iter>(&'iter self,
27                            node: Self::Node)
28                            -> <Self as GraphPredecessors<'iter>>::Iter {
29         (**self).predecessors(node)
30     }
31 }
32
33 impl<'iter, 'graph, G: WithPredecessors> GraphPredecessors<'iter> for &'graph G {
34     type Item = G::Node;
35     type Iter = <G as GraphPredecessors<'iter>>::Iter;
36 }
37
38 impl<'iter, 'graph, G: WithSuccessors> GraphSuccessors<'iter> for &'graph G {
39     type Item = G::Node;
40     type Iter = <G as GraphSuccessors<'iter>>::Iter;
41 }