pub enum SuspendPointKind {
Delay,
Edge,
EdgeList,
Level,
CycleDelay,
ImplicitComb,
OneStep,
WaitFork,
ByRequest,
}Expand description
Task 7 (PR-116, XC-044): a fieldless, 'static-safe mirror of
SuspendPoint’s discriminants. SuspendPoint<'d> itself cannot be
named &'static [SuspendPoint] – every payload-carrying variant embeds
a borrowed sv_lang::Expression<'d>, which is only ever alive for the
lifetime of a real, already-compiled Design, so no 'static instance
of it can exist independent of one. This type is exactly the
“which shape” tag suspending_statement_kinds’s two callers (the
frame-slot round-trip matrix in vj-sim’s own tests and the JIT+run
matrix in vj-codegen’s tests) both need, without requiring either
to fabricate a borrowed Expression from nothing.
Variants§
Delay
Edge
EdgeList
Level
CycleDelay
ImplicitComb
Task 6 (CG-081): ImplicitEventControl (@*/@(*)).
OneStep
Task 6 (CG-081): OneStepDelayControl (#0).
WaitFork
wait fork; (SC-125).
ByRequest
process::await() / process::suspend() (Classes plan Task 13).
Trait Implementations§
Source§impl Clone for SuspendPointKind
impl Clone for SuspendPointKind
impl Copy for SuspendPointKind
Source§impl Debug for SuspendPointKind
impl Debug for SuspendPointKind
impl Eq for SuspendPointKind
Source§impl Hash for SuspendPointKind
impl Hash for SuspendPointKind
Source§impl PartialEq for SuspendPointKind
impl PartialEq for SuspendPointKind
impl StructuralPartialEq for SuspendPointKind
Auto Trait Implementations§
impl Freeze for SuspendPointKind
impl RefUnwindSafe for SuspendPointKind
impl Send for SuspendPointKind
impl Sync for SuspendPointKind
impl Unpin for SuspendPointKind
impl UnsafeUnpin for SuspendPointKind
impl UnwindSafe for SuspendPointKind
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.