pub enum PipelineEditError {
NoWorkspaceRoot,
AlreadyExists {
primitive: &'static str,
key: String,
},
NotFound {
primitive: &'static str,
key: String,
},
Referenced {
primitive: &'static str,
key: String,
referrers: Vec<String>,
},
RenameTargetExists {
primitive: &'static str,
key: String,
},
InvalidJson {
primitive: &'static str,
message: String,
},
Store(StoreError),
}Expand description
Failure modes of a pipeline edit. Distinct from the entity-centric
crate::engine::EngineError — these describe four-primitive store edits.
key is the display identity: "<mem>/<name>".
Variants§
NoWorkspaceRoot
The engine was not booted from a workspace root, so there is no four-primitive store to edit (e.g. an engine built from a bare mount list in a test or in-memory consumer).
AlreadyExists
A create targeted a (mem, name) that already holds a record.
NotFound
An update / delete / rename targeted a record that does not exist.
Referenced
A delete was refused because other records still reference the target.
RenameTargetExists
A rename target (mem, new) already holds a record.
InvalidJson
A JSON-string edit entry point received a payload that did not deserialize into the target primitive.
Store(StoreError)
Underlying store IO / parse failure.
Trait Implementations§
Source§impl Debug for PipelineEditError
impl Debug for PipelineEditError
Source§impl Display for PipelineEditError
impl Display for PipelineEditError
Source§impl Error for PipelineEditError
impl Error for PipelineEditError
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 PipelineEditError
impl From<StoreError> for PipelineEditError
Source§fn from(source: StoreError) -> Self
fn from(source: StoreError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for PipelineEditError
impl !UnwindSafe for PipelineEditError
impl Freeze for PipelineEditError
impl Send for PipelineEditError
impl Sync for PipelineEditError
impl Unpin for PipelineEditError
impl UnsafeUnpin for PipelineEditError
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