fn running_edge_predicate<'a>(inner: &'a InnerGraph<N>) -> impl Fn(EdgeId) -> bool + 'a {
    move |edge_id| {
      let (edge_src_id, _) = inner.pg.edge_endpoints(edge_id).unwrap();
      if let Some(running_run_token) = inner.unsafe_entry_for_id(edge_src_id).running_run_token() {
        // Only include the edge if the Node is running, and the edge is for this run.
        inner.pg[edge_id].1 == running_run_token
      } else {
        // Node is not running.
        false
      }
    }
  }
///
/// A running edge is an edge leaving a Running node with a matching RunToken: ie, an edge that was
/// created by the active run of a node. Running edges are not allowed to form cycles, as that could
/// cause work to deadlock on itself.
///
/// "Running" edges are a subset of "live" edges: see `live_edge_predicate`
///
A running edge is an edge leaving a Running node with a matching RunToken: ie, an edge that was
created by the active run of a node. Running edges are not allowed to form cycles, as that could
cause work to deadlock on itself.

"Running" edges are a subset of "live" edges: see `live_edge_predicate`
A running edge is an edge leaving a Running node with a matching RunToken : ie an edge that was created by the active run of a node . Running edges are not allowed to form cycles as that could cause work to deadlock on itself . " Running " edges are a subset of " live " edges : see ` live_edge_predicate `
fn running_edge_predicate<'a>(inner: &'a InnerGraph<N>) -> impl Fn(EdgeId) -> bool + 'a {
    move |edge_id| {
      let (edge_src_id, _) = inner.pg.edge_endpoints(edge_id).unwrap();
      if let Some(running_run_token) = inner.unsafe_entry_for_id(edge_src_id).running_run_token() {
        // Only include the edge if the Node is running, and the edge is for this run.
        inner.pg[edge_id].1 == running_run_token
      } else {
        // Node is not running.
        false
      }
    }
  }
fn running_edge_predicate < ' a > ( inner : & ' a InnerGraph < N > ) -> impl Fn ( EdgeId ) -> bool + ' a { move | edge_id | { let ( edge_src_id , _ ) = inner . pg . edge_endpoints ( edge_id ) . unwrap ( ) ; if let Some ( running_run_token ) = inner . unsafe_entry_for_id ( edge_src_id ) . running_run_token ( ) { // Only include the edge if the Node is running, and the edge is for this run. inner . pg [ edge_id ] . 1 == running_run_token } else { // Node is not running. false } } }
A running edge is an edge leaving a Running node with a matching RunToken: ie, an edge that was
created by the active run of a node.
A running edge is an edge leaving a Running node with a matching RunToken : ie an edge that was created by the active run of a node .
inner
&'a InnerGraph<N>
inner
&'a InnerGraph<N>