pub enum CapabilityError {
EmptySourceName,
DuplicateSourceName {
name: String,
},
OperationOutOfScope {
operation: &'static str,
source_name: String,
medium_type: String,
},
GraphScopeNotEntitySelector {
source_name: String,
pattern: String,
},
ScopeNotInterpretable {
source_name: String,
pattern: String,
medium_type: String,
},
GlobDenyIllegal {
source_name: String,
medium_type: String,
anchor_namespace: &'static str,
},
PreparationUnsupported {
source_name: String,
preparation: String,
impl_version: u32,
},
PreparationGrainMismatch {
source_name: String,
preparation: String,
medium_type: String,
anchor_namespace: &'static str,
},
CoverageExhaustiveUnsupported {
source_name: String,
medium_type: String,
},
PruneGuaranteeUnsupported {
source_name: String,
medium_type: String,
requested: &'static str,
supported: &'static str,
},
}Expand description
A validation-time refusal: a capability the source’s medium half cannot support, or a malformed in-record source declaration. Every refusal names the offending source so it is diagnosable without re-reading the store.
Variants§
EmptySourceName
A source has an empty name — the name keys per-source sync/verify
state, so it must be present.
DuplicateSourceName
Two sources in the record share a name — per-source state keys would collide.
OperationOutOfScope
A sync / verify operation is declared over a medium that cannot
support it this cycle (a web source — operator decision 7). The
out-of-scope statement is said out loud, never a silent mtime-over-URL.
Fields
GraphScopeNotEntitySelector
A graph source’s scope carries a pattern the entity-namespace
vocabulary does not define. Refused at declaration rather than
silently selecting nothing: a scope that looks like selection but
reaches nothing is the defect this rule exists to prevent.
ScopeNotInterpretable
A source’s scope carries a pattern its medium has no vocabulary to
express at all, so nothing anywhere can interpret it. Distinct from
Self::GraphScopeNotEntitySelector, which names the legal forms
because a legal form exists; here there is none, so the only honest
scope is no scope.
Fields
GlobDenyIllegal
Glob deny_paths are declared over a medium whose namespace is not
path-shaped (graph, web) — a glob cannot select in that namespace.
Fields
PreparationUnsupported
A source declares a preparation identifier the engine’s preparation
registry (crate::preparation) does not know. The refusal is
exactly “not in this engine’s registry”: a registered identifier
validates clean, an unknown one refuses, and the message names the
registered set.
Raised by validate_binding, which the edit/validate paths call —
NOT projection init (which has no --preparation flag). The brief
renderer mirrors the same rule for a record that acquired an unknown
identifier by hand (accepted at rest, reported unsupported and
skipped at run time with exit 0; see GLOSSARY.md and
crate::pipeline::Source::preparation), so both refusal paths carry
one semantics and move together.
Fields
PreparationGrainMismatch
A registered preparation is declared over a medium whose anchor
namespace admits none of the grains it prepares (entity-load-bearing
over a codebase source). It would never meet an anchor it applies
to, so the declaration is refused at validation rather than accepted
and silently never applying.
Fields
CoverageExhaustiveUnsupported
The binding declares coverage_semantics: exhaustive while at least
one source sits on a medium whose scope the engine cannot enumerate
(web) — S(D) is not computable, so exhaustive coverage cannot be
asserted over it. Refused at binding-validation time with curated
as the remedy. An undeclared field never trips this: it resolves
per medium via effective_coverage_semantics.
Fields
PruneGuaranteeUnsupported
The binding requests a prune guarantee the source’s medium cannot
support (F1) — never-clobber over a medium whose base leg is not
retrievable (web). Refused at binding-validation time with the
downgrade remedy, never discovered at run time.
Trait Implementations§
Source§impl Clone for CapabilityError
impl Clone for CapabilityError
Source§fn clone(&self) -> CapabilityError
fn clone(&self) -> CapabilityError
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 CapabilityError
impl Debug for CapabilityError
Source§impl Display for CapabilityError
impl Display for CapabilityError
impl Eq for CapabilityError
Source§impl Error for CapabilityError
impl Error for CapabilityError
1.30.0 · 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 PartialEq for CapabilityError
impl PartialEq for CapabilityError
impl StructuralPartialEq for CapabilityError
Auto Trait Implementations§
impl Freeze for CapabilityError
impl RefUnwindSafe for CapabilityError
impl Send for CapabilityError
impl Sync for CapabilityError
impl Unpin for CapabilityError
impl UnsafeUnpin for CapabilityError
impl UnwindSafe for CapabilityError
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§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.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