pub enum Convergence {
Settled {
changed_passes: usize,
},
Blocked,
FixCycle,
FixPassLimit,
}Expand description
What:
How the loop ended.
Settled carries the number of passes that changed content.
Why:
The caller reports the stable pass,
or one engine failure for each other ending.
In TS you’d write (pseudocode):
type Convergence = { kind: 'settled'; changedPasses: number } | { kind: 'blocked' | 'fix-cycle' | 'fix-pass-limit' };Variants§
Settled
The last pass proposed nothing, or its corrections left the state exactly as it was.
Blocked
A pass failed, or its corrections could not be applied.
FixCycle
Corrections reproduced a state from before the preceding one.
FixPassLimit
A pass still proposed corrections after eight changed passes.
Trait Implementations§
Source§impl Clone for Convergence
impl Clone for Convergence
impl Copy for Convergence
Source§impl Debug for Convergence
impl Debug for Convergence
impl Eq for Convergence
Source§impl PartialEq for Convergence
impl PartialEq for Convergence
impl StructuralPartialEq for Convergence
Auto Trait Implementations§
impl Freeze for Convergence
impl RefUnwindSafe for Convergence
impl Send for Convergence
impl Sync for Convergence
impl Unpin for Convergence
impl UnsafeUnpin for Convergence
impl UnwindSafe for Convergence
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more