fn to_dot(&self) -> Vec<String> {
        let mut lines: Vec<String> = Vec::new();
        lines.push(format!("subgraph cluster_{} {{", &self.id));
        lines.push(format!("label=\"{}\"", self.label));
        lines.push(format!("enter_{}[style=invis]", self.id));
        lines.push(format!("exit_{}[style=invis]", self.id));
        for node in self.nodes.iter() {
            lines.append(&mut node.to_dot());
        }
        lines.push("}".to_string());
        lines
    }
// TODO: We add a pair of enter/exit nodes to each cluster and connect all
// incoming/outgoing edges whose destination/source is the entire cluster to
// these nodes.  This does not look great.  We should instead connect each
// edge to a specific simple node, which requires extending the circuit
// builder API.
We add a pair of enter/exit nodes to each cluster and connect all
incoming/outgoing edges whose destination/source is the entire cluster to
these nodes.  This does not look great.  We should instead connect each
edge to a specific simple node, which requires extending the circuit
builder API.
We add a pair of enter / exit nodes to each cluster and connect all incoming / outgoing edges whose destination / source is the entire cluster to these nodes . This does not look great . We should instead connect each edge to a specific simple node which requires extending the circuit builder API .
fn to_dot(&self) -> Vec<String> {
        let mut lines: Vec<String> = Vec::new();
        lines.push(format!("subgraph cluster_{} {{", &self.id));
        lines.push(format!("label=\"{}\"", self.label));
        lines.push(format!("enter_{}[style=invis]", self.id));
        lines.push(format!("exit_{}[style=invis]", self.id));
        for node in self.nodes.iter() {
            lines.append(&mut node.to_dot());
        }
        lines.push("}".to_string());
        lines
    }
fn to_dot ( & self ) -> Vec < String > { let mut lines : Vec < String > = Vec :: new ( ) ; lines . push ( format ! ( " " self id ) ) ; lines . push ( format ! ( " \" \" " self label ) ) ; lines . push ( format ! ( " " self id ) ) ; lines . push ( format ! ( " " self id ) ) ; for node in self . nodes . iter ( ) { lines . append ( & mut node . to_dot ( ) ) ; } lines . push ( " " . to_string ( ) ) ; lines }
TODO: We add a pair of enter/exit nodes to each cluster and connect all
incoming/outgoing edges whose destination/source is the entire cluster to
these nodes.
TODO : We add a pair of enter / exit nodes to each cluster and connect all incoming / outgoing edges whose destination / source is the entire cluster to these nodes .
&self