pub enum PuritySpectrum {
StrictlyPure,
LocallyPure,
IOIsolated,
IOMixed,
Impure,
}Expand description
Purity spectrum classification for functions (spec 218). Classifies functions on a spectrum from strictly pure to impure, with score multipliers that reduce priority for purer functions.
Variants§
StrictlyPure
Strictly pure - no mutations, no I/O, referentially transparent
LocallyPure
Locally pure - pure interface but uses local mutations internally
IOIsolated
I/O isolated - I/O operations clearly separated from logic
IOMixed
I/O mixed - I/O mixed with business logic
Impure
Impure - mutable state, side effects throughout
Implementations§
Source§impl PuritySpectrum
impl PuritySpectrum
Sourcepub fn score_multiplier(&self) -> f64
pub fn score_multiplier(&self) -> f64
Returns a score multiplier for this purity level. Lower multipliers reduce priority (less technical debt). Range: 0.0 (best - strictly pure) to 1.0 (worst - impure)
Trait Implementations§
Source§impl Clone for PuritySpectrum
impl Clone for PuritySpectrum
Source§fn clone(&self) -> PuritySpectrum
fn clone(&self) -> PuritySpectrum
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PuritySpectrum
Source§impl Debug for PuritySpectrum
impl Debug for PuritySpectrum
Source§impl<'de> Deserialize<'de> for PuritySpectrum
impl<'de> Deserialize<'de> for PuritySpectrum
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for PuritySpectrum
impl PartialEq for PuritySpectrum
Source§fn eq(&self, other: &PuritySpectrum) -> bool
fn eq(&self, other: &PuritySpectrum) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for PuritySpectrum
impl Serialize for PuritySpectrum
impl StructuralPartialEq for PuritySpectrum
Auto Trait Implementations§
impl Freeze for PuritySpectrum
impl RefUnwindSafe for PuritySpectrum
impl Send for PuritySpectrum
impl Sync for PuritySpectrum
impl Unpin for PuritySpectrum
impl UnsafeUnpin for PuritySpectrum
impl UnwindSafe for PuritySpectrum
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> EnsureExt<T> for T
impl<T> EnsureExt<T> for T
Source§fn ensure<P, E>(self, predicate: P, error: E) -> Validation<T, NonEmptyVec<E>>where
P: Predicate<T>,
fn ensure<P, E>(self, predicate: P, error: E) -> Validation<T, NonEmptyVec<E>>where
P: Predicate<T>,
Validate that this value satisfies the given predicate. Read more
Source§fn ensure_with<P, E, F>(
self,
predicate: P,
error_fn: F,
) -> Validation<T, NonEmptyVec<E>>
fn ensure_with<P, E, F>( self, predicate: P, error_fn: F, ) -> Validation<T, NonEmptyVec<E>>
Validate with an error-generating function. Read more
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