pub struct Reason {
pub value: Term,
pub path: Option<String>,
pub shape: ShapeId,
pub severity: Severity,
pub message: String,
pub author_message: Option<String>,
pub sub_reasons: Vec<Reason>,
}Expand description
A single failed atomic constraint.
Fields§
§value: TermThe node at which the constraint failed (a value node, or the focus).
path: Option<String>The path from the enclosing focus to value, if the failure is
value-scoped (rendered in π notation).
shape: ShapeIdThe failing constraint’s arena slot (cross-references the algebra dump).
severity: Severitysh:severity on the source shape, defaulting to sh:Violation.
message: StringEngine-generated description of the failure — always present.
The author’s sh:message from the source shape, if any (with
{$this}/{?var} placeholders resolved). Consumers should prefer this
over message when set; message remains the fallback.
sub_reasons: Vec<Reason>Non-empty when this reason is an sh:or group: one entry per OR branch
that failed, so the caller can tell “fix any one of these.”
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Reason
impl<'de> Deserialize<'de> for Reason
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Reason
impl StructuralPartialEq for Reason
Auto Trait Implementations§
impl Freeze for Reason
impl RefUnwindSafe for Reason
impl Send for Reason
impl Sync for Reason
impl Unpin for Reason
impl UnsafeUnpin for Reason
impl UnwindSafe for Reason
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
Compare self to
key and return true if they are equal.