pub enum CrossMemRelCheck {
Ok,
EdgeNotDeclared,
Invalid(ValidationError),
}Expand description
Outcome of looking up a rel-type against a cross-mem entry in
the source schema’s cross_mem_relationships: vocabulary.
EdgeNotDeclared carries the recovery payload the engine layer
wraps into crate::EngineError::CrossMemEdgeNotDeclared; the
other variants reuse the existing ValidationError shapes so
agents reading the wire shape decode INVALID_REL_TYPE /
INVALID_REL_SHAPE identically in both intra- and cross-mem
flows.
Variants§
Ok
(rel_type, from_type, to_type) are admitted by the matched
cross-mem entry’s declared vocabulary and shape. The engine
proceeds with the relate write.
EdgeNotDeclared
The source schema declares no cross-mem entry whose
to_schema: matches the target schema. Carries the recovery
payload for CROSS_MEM_EDGE_NOT_DECLARED.
Invalid(ValidationError)
Validation tripped the matched cross-mem entry’s own
vocabulary / shape — reuses the existing INVALID_REL_TYPE /
INVALID_REL_SHAPE envelopes (carried as the wrapped
ValidationError) so wire-shape decoders stay flat.
Trait Implementations§
Source§impl Clone for CrossMemRelCheck
impl Clone for CrossMemRelCheck
Source§fn clone(&self) -> CrossMemRelCheck
fn clone(&self) -> CrossMemRelCheck
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for CrossMemRelCheck
impl RefUnwindSafe for CrossMemRelCheck
impl Send for CrossMemRelCheck
impl Sync for CrossMemRelCheck
impl Unpin for CrossMemRelCheck
impl UnsafeUnpin for CrossMemRelCheck
impl UnwindSafe for CrossMemRelCheck
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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