#[non_exhaustive]pub enum StateSeriesError {
SchemaMismatch {
iteration: u64,
},
NonIncreasingIteration {
previous: u64,
next: u64,
},
PositionOutOfBounds {
position: usize,
len: usize,
},
PayloadAccess {
position: usize,
source: StateError,
},
}Expand description
A failure produced while maintaining or mutating an in-memory state series.
The enum is intentionally small and independent of persistence. Every variant is either a collection invariant violation or contextualized typed access into one already-stored state.
StateSeriesError is non-exhaustive so additional analysis invariants can be
introduced without forcing downstream crates to use exhaustive matches.
Callers should therefore retain a fallback match arm.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
SchemaMismatch
The rejected state does not share the series’ canonical layout.
Structural equality is insufficient: accepted states must derive from
the same SystemStateSchema allocation. The
rejected state’s iteration is retained for diagnostics without
inspecting or formatting any scientific payload.
NonIncreasingIteration
The rejected state would violate strictly increasing simulation order.
Iteration gaps are permitted, but an equal or decreasing value would make ordered iteration ambiguous. Physical time is not used for ordering because it is optional and may follow an application-specific scale.
Fields
PositionOutOfBounds
A mutable analysis request selected no stored state.
position is a zero-based position in the series rather than a
simulation iteration. Both the attempted position and current length
are recorded so callers can diagnose stale analysis selections.
Fields
PayloadAccess
Typed mutable access failed inside the selected state.
The source distinguishes an undeclared key, an empty field, and a
concrete payload type mismatch. Wrapping it here adds the series
position while preserving std::error::Error::source traversal.
Fields
source: StateErrorOriginal typed access failure reported by SystemState::payload_mut.
Trait Implementations§
Source§impl Debug for StateSeriesError
impl Debug for StateSeriesError
Source§impl Display for StateSeriesError
impl Display for StateSeriesError
Source§impl Error for StateSeriesError
impl Error for StateSeriesError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for StateSeriesError
impl !UnwindSafe for StateSeriesError
impl Freeze for StateSeriesError
impl Send for StateSeriesError
impl Sync for StateSeriesError
impl Unpin for StateSeriesError
impl UnsafeUnpin for StateSeriesError
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
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> ⓘ
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> ⓘ
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 moreSource§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more