pub enum IssueSource {
XsdLayer,
ProseRule,
EngineInternal,
}Expand description
Which authority produced a validation finding.
Encodes the “prose vs XSD” provenance distinction that SMPTE ST 2067-3 §5.1 calls out (“the prose document takes precedence on conflict”), so callers can filter, group, or apply per-source severity overrides without inspecting the code string.
Currently inferred from the code prefix on a ValidationIssue
(see ValidationIssue::source) — no engine code needs to set it
explicitly. If inference ever becomes ambiguous (e.g. a non-XSD
engine internal rule that wants the XSD/ prefix for catalogue
reasons), we can add a with_source() builder without changing
the public shape.
Variants§
XsdLayer
Came from the runtime XSD validator (uppsala). Schema-layer: the structural subset of the spec that the XSD DSL can express.
ProseRule
Came from a hand-rolled prose-cited rule. Semantic/cross-field/
value-set checks that XSD can’t express; the rule’s code
typically cites a SMPTE prose section (e.g. ST2067-2:2020:6.4.2).
EngineInternal
Came from imferno engine internals — parse failures, package structure checks, manifest issues — not directly traceable to a single SMPTE spec section.
Implementations§
Trait Implementations§
Source§impl Clone for IssueSource
impl Clone for IssueSource
Source§fn clone(&self) -> IssueSource
fn clone(&self) -> IssueSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for IssueSource
Source§impl Debug for IssueSource
impl Debug for IssueSource
Source§impl<'de> Deserialize<'de> for IssueSource
impl<'de> Deserialize<'de> for IssueSource
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for IssueSource
impl Display for IssueSource
impl Eq for IssueSource
Source§impl Hash for IssueSource
impl Hash for IssueSource
Source§impl PartialEq for IssueSource
impl PartialEq for IssueSource
Source§fn eq(&self, other: &IssueSource) -> bool
fn eq(&self, other: &IssueSource) -> bool
self and other values to be equal, and is used by ==.