fn for_each_constraint(
        &self,
        with_msg: &mut dyn FnMut(&str) -> io::Result<()>,
    ) -> io::Result<()> {
        for region in self.definitions.indices() {
            let value = self.liveness_constraints.region_value_str(region);
            if value != "{}" {
                with_msg(&format!("{:?} live at {}", region, value))?;
            }
        }

        let mut constraints: Vec<_> = self.constraints.iter().collect();
        constraints.sort();
        for constraint in &constraints {
            let OutlivesConstraint {
                sup,
                sub,
                locations,
            } = constraint;
            with_msg(&format!(
                "{:?}: {:?} due to {:?}",
                sup,
                sub,
                locations,
            ))?;
        }

        Ok(())
    }
/// Debugging aid: Invokes the `with_msg` callback repeatedly with
/// our internal region constraints.  These are dumped into the
/// -Zdump-mir file so that we can figure out why the region
/// inference resulted in the values that it did when debugging.
Debugging aid: Invokes the `with_msg` callback repeatedly with
our internal region constraints.  These are dumped into the
Zdump-mir file so that we can figure out why the region
inference resulted in the values that it did when debugging.
Debugging aid : Invokes the ` with_msg ` callback repeatedly with our internal region constraints . These are dumped into the Zdump - mir file so that we can figure out why the region inference resulted in the values that it did when debugging .
fn for_each_constraint(
        &self,
        with_msg: &mut dyn FnMut(&str) -> io::Result<()>,
    ) -> io::Result<()> {
        for region in self.definitions.indices() {
            let value = self.liveness_constraints.region_value_str(region);
            if value != "{}" {
                with_msg(&format!("{:?} live at {}", region, value))?;
            }
        }
        let mut constraints: Vec<_> = self.constraints.iter().collect();
        constraints.sort();
        for constraint in &constraints {
            let OutlivesConstraint {
                sup,
                sub,
                locations,
            } = constraint;
            with_msg(&format!(
                "{:?}: {:?} due to {:?}",
                sup,
                sub,
                locations,
            ))?;
        }
        Ok(())
    }
fn for_each_constraint ( & self , with_msg : & mut dyn FnMut ( & str ) -> io :: Result < ( ) > , ) -> io :: Result < ( ) > { for region in self . definitions . indices ( ) { let value = self . liveness_constraints . region_value_str ( region ) ; if value != " " { with_msg ( & format ! ( " " region value ) ) ? ; } } let mut constraints : Vec < _ > = self . constraints . iter ( ) . collect ( ) ; constraints . sort ( ) ; for constraint in & constraints { let OutlivesConstraint { sup , sub , locations , } = constraint ; with_msg ( & format ! ( " " sup sub locations ) ) ? ; } Ok ( ( ) ) }
Debugging aid: Invokes the `with_msg` callback repeatedly with
our internal region constraints.
Debugging aid : Invokes the ` with_msg ` callback repeatedly with our internal region constraints .
&self
with_msg
&mut dyn FnMut(&str) -> io::Result<()>
&self
with_msg
&mut dyn FnMut(&str) -> io::Result<()>