pub enum StoreError {
NotInitialised {
path: PathBuf,
},
Io {
path: PathBuf,
source: Error,
},
Parse {
path: PathBuf,
message: String,
},
FormatMismatch {
path: PathBuf,
expected: String,
found: String,
},
LegacyLayout {
path: PathBuf,
found: String,
},
Other(String),
}Expand description
Errors surfaced by WorkspaceStoreAdapter::load and
WorkspaceStoreAdapter::save_state. Backend-specific failures
surface as StoreError::Other with a string message; structured
per-adapter errors can extend the enum later.
Variants§
NotInitialised
Workspace root has no .memstead/ directory or no recognised
adapter file inside it. Distinct from Io so callers can
distinguish “needs memstead init” from “permissions broke”.
Io
IO failure reading or writing one of the adapter files.
Parse
TOML or JSON parse / serialise failure. The wrapped string is the underlying serde error; the file is named so operators know where to look.
FormatMismatch
Format version mismatch — adapter understands a different schema version than the file declares.
LegacyLayout
Pre-rename workspace layout. The unit-noun cut renamed every on-disk shape with no dual-read; refusing keeps an old workspace from booting empty, half-mounted, or silently rewritten. The message names the one-shot migration steps.
Other(String)
Catch-all for adapter-specific failures. Carries an agent-readable message; structured variants extend the enum.
Trait Implementations§
Source§impl Debug for StoreError
impl Debug for StoreError
Source§impl Display for StoreError
impl Display for StoreError
Source§impl Error for StoreError
impl Error for StoreError
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()
Source§impl From<StoreError> for BootError
impl From<StoreError> for BootError
Source§fn from(source: StoreError) -> Self
fn from(source: StoreError) -> Self
Source§impl From<StoreError> for PipelineEditError
impl From<StoreError> for PipelineEditError
Source§fn from(source: StoreError) -> Self
fn from(source: StoreError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for StoreError
impl !UnwindSafe for StoreError
impl Freeze for StoreError
impl Send for StoreError
impl Sync for StoreError
impl Unpin for StoreError
impl UnsafeUnpin for StoreError
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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>
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 more