pub enum Recursion {
None,
Root,
SelfSpawn,
AncestorSpawn(u32),
}Expand description
A fork branch’s part in a recursive task with timing controls (LRM
1800-2023 §13.4, §13.4.1): every call is a join of one forked child
running the task body in a frame of its own.
Variants§
None
An ordinary CFG.
Root
The task’s body: the branch the first call forks. Its kernel is compiled once and also serves every recursive call inside it.
SelfSpawn
A placeholder branch (no blocks of its own): a recursive call inside
the enclosing Recursion::Root, which spawns that root’s kernel again.
AncestorSpawn(u32)
A placeholder branch: a call, inside one recursive activation, of the
task of an enclosing activation (mutual recursion: a calls b calls
a). It spawns that activation’s kernel again; the number says how
many Recursion::Root levels out it is (1 = the activation this one
was forked from).
Trait Implementations§
impl Copy for Recursion
impl Eq for Recursion
impl StructuralPartialEq for Recursion
Auto Trait Implementations§
impl Freeze for Recursion
impl RefUnwindSafe for Recursion
impl Send for Recursion
impl Sync for Recursion
impl Unpin for Recursion
impl UnsafeUnpin for Recursion
impl UnwindSafe for Recursion
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,
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.