pub enum PathCondition {
Unconditional,
If(CondNode),
IfNone,
}Expand description
A TimingPath’s own state-dependency (LRM 30.4.4, Task 8): which of
30.4.4’s three forms – unconditional, if (cond), or ifnone – this
path was declared with. Discriminated jointly from Symbol:: timing_path_is_state_dependent() and Symbol:: timing_path_condition_expr() (see [resolve_condition]’s own doc
comment for why neither alone suffices – this plan’s own “What already
exists” section’s decision 0).
Variants§
Unconditional
A plain, unconditional module path (30.4.2/30.4.3/30.4.5) – the pre-Task-8 default every earlier task’s own fixture already exercises.
If(CondNode)
if (cond) ... – cond, compiled to a CondNode.
IfNone
ifnone ... – LRM 30.4.4.4: active whenever every OTHER
state-dependent declaration sharing this path’s own exact source
and destination is false (sv-sim-bin::specify::plan‘s own
ifnone_gate synthesizes this from its sibling If members’
conditions; a path with no such siblings behaves as
Self::Unconditional, per that same subclause’s own text).
Trait Implementations§
Source§impl Clone for PathCondition
impl Clone for PathCondition
Source§impl Debug for PathCondition
impl Debug for PathCondition
impl Eq for PathCondition
Source§impl PartialEq for PathCondition
impl PartialEq for PathCondition
impl StructuralPartialEq for PathCondition
Auto Trait Implementations§
impl Freeze for PathCondition
impl RefUnwindSafe for PathCondition
impl Send for PathCondition
impl Sync for PathCondition
impl Unpin for PathCondition
impl UnsafeUnpin for PathCondition
impl UnwindSafe for PathCondition
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
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,
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.