pub enum RegionQueuePushError {
NbaHasNoQueue,
PreponedHasNoQueue,
ObservedHasNoQueue,
}Expand description
push’s one typed-error variant (SC-036’s “loud, typed, never silent”
posture, applied here to NBA’s non-queue). Never a debug_assert! — that
compiles to nothing in release builds, which is exactly the silent-drop
this type exists to prevent (see RegionQueues::push’s doc comment).
Variants§
NbaHasNoQueue
NBA has no queue of its own — it is crate::sched’s NBA staging log
(Task 6), not a RegionQueues member. Pushing Region::Nba here is
always a caller bug, never a legitimate no-op.
PreponedHasNoQueue
sva T1 (§1.4, review fix, blocking finding 2). Region::Preponed
has no queue of its own either — it is a pure snapshot push
(state::snapshot::SnapshotRing), fired as an unconditional inline
side effect at time-slot entry (sched::control::Engine::run_until/
step_region), never a region a CompiledProcess is “ready” in.
Pushing Region::Preponed here is always a caller bug, the same
class NbaHasNoQueue already names for Region::Nba.
ObservedHasNoQueue
sva T2 (§1.4, review fix, blocking finding 2), Observed’s half.
Region::Observed has no queue of its own either – a live SVA
thread is owned by the automaton engine’s own thread table (a later
task), never dispatched through RegionQueues/ProcessTable as a
PendingActivation: the Observed-region engine step is reached only
through the region-callback mechanism (Engine::push_region_ callback/drain_region_callbacks), never a queued activation.
Pushing Region::Observed here is always a caller bug, the same
class NbaHasNoQueue/PreponedHasNoQueue already name.
Trait Implementations§
Source§impl Clone for RegionQueuePushError
impl Clone for RegionQueuePushError
impl Copy for RegionQueuePushError
Source§impl Debug for RegionQueuePushError
impl Debug for RegionQueuePushError
Source§impl Display for RegionQueuePushError
impl Display for RegionQueuePushError
impl Eq for RegionQueuePushError
Source§impl Error for RegionQueuePushError
impl Error for RegionQueuePushError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl PartialEq for RegionQueuePushError
impl PartialEq for RegionQueuePushError
impl StructuralPartialEq for RegionQueuePushError
Auto Trait Implementations§
impl Freeze for RegionQueuePushError
impl RefUnwindSafe for RegionQueuePushError
impl Send for RegionQueuePushError
impl Sync for RegionQueuePushError
impl Unpin for RegionQueuePushError
impl UnsafeUnpin for RegionQueuePushError
impl UnwindSafe for RegionQueuePushError
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.