pub enum SchemaExtractionOutcome {
AlreadyRegistered,
NoEmbeddedSchema,
CacheAlreadyPopulated,
Extracted {
schema: SchemaRef,
path: PathBuf,
},
}Expand description
Outcome of extract_archive_schema_if_needed — so callers can log
the specific reason a no-op happened, or know whether the mem’s
schema registry needs to be rebuilt.
Variants§
AlreadyRegistered
The archive’s pinned schema is already registered — extraction skipped. Author-layer schemas always shadow cache entries, so skipping when the registry already knows the pin preserves the documented precedence order.
NoEmbeddedSchema
The archive carries no .memstead/schema/ tree. Loading still works
if the pin happens to be in the registry; otherwise the normal
resolve_mem_schema path reports the missing schema with its
actionable error.
CacheAlreadyPopulated
A cache entry at
<workspace_root>/.memstead.cache/schemas/<name>-<version>/
already existed on disk — extraction skipped, but the registry
may still need a rebuild if the caller hadn’t picked it up yet.
Extracted
Fresh extraction wrote files into
<workspace_root>/.memstead.cache/schemas/<name>-<version>/. Caller
must rebuild the SchemaRegistry to pick it up.
Trait Implementations§
Source§impl Clone for SchemaExtractionOutcome
impl Clone for SchemaExtractionOutcome
Source§fn clone(&self) -> SchemaExtractionOutcome
fn clone(&self) -> SchemaExtractionOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SchemaExtractionOutcome
impl Debug for SchemaExtractionOutcome
impl Eq for SchemaExtractionOutcome
Source§impl PartialEq for SchemaExtractionOutcome
impl PartialEq for SchemaExtractionOutcome
Source§fn eq(&self, other: &SchemaExtractionOutcome) -> bool
fn eq(&self, other: &SchemaExtractionOutcome) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SchemaExtractionOutcome
Auto Trait Implementations§
impl Freeze for SchemaExtractionOutcome
impl RefUnwindSafe for SchemaExtractionOutcome
impl Send for SchemaExtractionOutcome
impl Sync for SchemaExtractionOutcome
impl Unpin for SchemaExtractionOutcome
impl UnsafeUnpin for SchemaExtractionOutcome
impl UnwindSafe for SchemaExtractionOutcome
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
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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