pub enum PathSupport {
Empty,
Edge(Triple),
Chain(Vec<PathSupport>),
Alt(Vec<PathSupport>),
}Expand description
One concrete positive certificate that a node is a π-successor of its
parent. Every Edge is present in the evaluation graph.
This is deliberately not a complete deletion cut: an alternative or cyclic path may have additional routes that are not represented here.
Variants§
Empty
Reflexive (Id): the node reached itself; nothing to cut.
Edge(Triple)
A single triple edge used by this certificate.
Chain(Vec<PathSupport>)
A chain (Seq/Star expansion) used by this certificate.
Alt(Vec<PathSupport>)
Multiple certificate branches when a caller explicitly retains them. The current path fold is allowed to return only the first successful syntactic alternative.
Trait Implementations§
Source§impl Clone for PathSupport
impl Clone for PathSupport
Source§impl Debug for PathSupport
impl Debug for PathSupport
Source§impl<'de> Deserialize<'de> for PathSupport
impl<'de> Deserialize<'de> for PathSupport
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 PathSupport
Source§impl Hash for PathSupport
impl Hash for PathSupport
Source§impl PartialEq for PathSupport
impl PartialEq for PathSupport
Source§impl Serialize for PathSupport
impl Serialize for PathSupport
impl StructuralPartialEq for PathSupport
Auto Trait Implementations§
impl Freeze for PathSupport
impl RefUnwindSafe for PathSupport
impl Send for PathSupport
impl Sync for PathSupport
impl Unpin for PathSupport
impl UnsafeUnpin for PathSupport
impl UnwindSafe for PathSupport
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.