pub fn satisfied_constraints(self, side_length: usize) -> impl Iterator<Item = Constraint> {
        iter::successors(
            Some(Constraint::Row { index: self.row }),
            move |cons| match cons {
                Constraint::Row { .. } => Some(Constraint::Column { index: self.column }),
                Constraint::Column { .. } => Some(Constraint::LeadingDiagonal {
                    index: self.leading_diagonal(side_length),
                }),
                Constraint::LeadingDiagonal { .. } => Some(Constraint::TrailingDiagonal {
                    index: self.trailing_diagonal(),
                }),
                Constraint::TrailingDiagonal { .. } => None,
            },
        )
    }
/// Return an iterator over all the `Constraint`s that are satisfied by this
/// `Possibility`.
Return an iterator over all the `Constraint`s that are satisfied by this
`Possibility`.
Return an iterator over all the ` Constraint ` s that are satisfied by this ` Possibility ` .
pub fn satisfied_constraints(self, side_length: usize) -> impl Iterator<Item = Constraint> {
        iter::successors(
            Some(Constraint::Row { index: self.row }),
            move |cons| match cons {
                Constraint::Row { .. } => Some(Constraint::Column { index: self.column }),
                Constraint::Column { .. } => Some(Constraint::LeadingDiagonal {
                    index: self.leading_diagonal(side_length),
                }),
                Constraint::LeadingDiagonal { .. } => Some(Constraint::TrailingDiagonal {
                    index: self.trailing_diagonal(),
                }),
                Constraint::TrailingDiagonal { .. } => None,
            },
        )
    }
pub fn satisfied_constraints ( self , side_length : usize ) -> impl Iterator < Item = Constraint > { iter :: successors ( Some ( Constraint :: Row { index : self . row } ) , move | cons | match cons { Constraint :: Row { .. } => Some ( Constraint :: Column { index : self . column } ) , Constraint :: Column { .. } => Some ( Constraint :: LeadingDiagonal { index : self . leading_diagonal ( side_length ) , } ) , Constraint :: LeadingDiagonal { .. } => Some ( Constraint :: TrailingDiagonal { index : self . trailing_diagonal ( ) , } ) , Constraint :: TrailingDiagonal { .. } => None , } , ) }
Return an iterator over all the `Constraint`s that are satisfied by this
`Possibility`.
Return an iterator over all the ` Constraint ` s that are satisfied by this ` Possibility ` .
self
side_length
usize
self
side_length
usize