diff options
Diffstat (limited to 'chain/src/lib.rs')
-rw-r--r-- | chain/src/lib.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/chain/src/lib.rs b/chain/src/lib.rs index 91c37f7..a3d420b 100644 --- a/chain/src/lib.rs +++ b/chain/src/lib.rs @@ -131,6 +131,7 @@ where Ok(new) => new, Err(error) => { // Prevent further iterations. + self.stop = true; return Some(Err(error.into())); } @@ -157,8 +158,7 @@ pub trait Chain: LabelExtGraph<Edge> { /// Represents the language that is present after we parse the /// empty string, that is the initial configuration of the - /// language. This may or may not be different from what - /// `Default::default` gives. + /// language. fn unit(atom: Self::Atom) -> Result<Self, Self::Error>; /// Return true if and only if the language contains the empty @@ -171,7 +171,7 @@ pub trait Chain: LabelExtGraph<Edge> { /// An iterator that iterates all layers that need to be merged. type DerIter: Iterator<Item = TwoLayers>; - /// Take the derivative by a terminal symbol at position `POS`. + /// Take the derivative by a terminal `t` at position `pos`. fn derive(&mut self, t: usize, pos: usize) -> Result<Self::DerIter, Self::Error>; /// Take the union of all derivatives. @@ -187,7 +187,7 @@ pub trait Chain: LabelExtGraph<Edge> { let edges = self.union(der_iter)?; - let new_index = self.extend(edges.into_iter())?; + let new_index = self.extend(edges)?; self.update_history(new_index); |