pub struct EffectReplayState { /* private fields */ }Implementations§
Source§impl EffectReplayState
impl EffectReplayState
pub fn mode(&self) -> EffectReplayMode
pub fn set_normal(&mut self)
pub fn start_recording(&mut self)
pub fn set_record_cap(&mut self, cap: Option<usize>)
pub fn record_full(&self) -> bool
pub fn start_replay(&mut self, effects: Vec<EffectRecord>, validate_args: bool)
pub fn take_recorded_effects(&mut self) -> Vec<EffectRecord>
pub fn recorded_effects(&self) -> &[EffectRecord]
pub fn replay_progress(&self) -> (usize, usize)
pub fn args_diff_count(&self) -> usize
pub fn ensure_replay_consumed(&self) -> Result<(), ReplayFailure>
Sourcepub fn reset_scope(&mut self)
pub fn reset_scope(&mut self)
Oracle v1: reset the structural-scope counters (next_group_id,
group_stack, branch_stack, effect_count_stack) without
touching recorded effects or replay state. Used by the verify-
trace runner so each case starts at group id 1 — otherwise the
counter accumulates across cases and user-visible indices like
.trace.group(0) stop matching after the first case.
Sourcepub fn enter_group(&mut self) -> u32
pub fn enter_group(&mut self) -> u32
Enter an independent product group for recording. Returns the group id.
Sourcepub fn exit_group(&mut self)
pub fn exit_group(&mut self)
Exit the current independent product group.
Sourcepub fn current_group_id(&self) -> Option<u32>
pub fn current_group_id(&self) -> Option<u32>
Oracle v1: id of the innermost !/?! group currently being
evaluated, as assigned by enter_group (monotonic per run, starts
at 1). None when outside any group — i.e. sequential code.
Sourcepub fn current_branch_idx(&self) -> Option<u32>
pub fn current_branch_idx(&self) -> Option<u32>
Oracle v1: index of the current branch within the innermost
group. None at the sequential level. Ordinal: first branch of
a !/?! group is 0 (set by enter_group), bumped by set_branch.
Sourcepub fn set_branch(&mut self, index: u32)
pub fn set_branch(&mut self, index: u32)
Set the current branch index within the current (innermost) product.
pub fn record_effect( &mut self, effect_type: &str, args: Vec<JsonValue>, outcome: RecordedOutcome, caller_fn: &str, source_line: usize, )
pub fn replay_effect( &mut self, effect_type: &str, got_args: Option<Vec<JsonValue>>, ) -> Result<RecordedOutcome, ReplayFailure>
Sourcepub fn oracle_path_string(&self) -> String
pub fn oracle_path_string(&self) -> String
Oracle v1: dewey-decimal path string for the current branch context. Empty string if we’re outside any group.
Sourcepub fn oracle_branch_counter(&self) -> Option<u32>
pub fn oracle_branch_counter(&self) -> Option<u32>
Oracle v1: current per-branch effect-occurrence counter, or None
if outside any group (caller should use a VM-level root counter).
Sourcepub fn bump_oracle_branch_counter(&mut self)
pub fn bump_oracle_branch_counter(&mut self)
Oracle v1: bump the current per-branch counter (no-op outside any group — caller tracks the root counter separately).
Sourcepub fn is_inside_group(&self) -> bool
pub fn is_inside_group(&self) -> bool
Oracle v1: is the runtime currently inside at least one !/?!
group?
Trait Implementations§
Source§impl Clone for EffectReplayState
impl Clone for EffectReplayState
Source§fn clone(&self) -> EffectReplayState
fn clone(&self) -> EffectReplayState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more