Skip to main content

run_bloq_with_captured_outputs

Function run_bloq_with_captured_outputs 

Source
pub fn run_bloq_with_captured_outputs<F>(
    bloq: &Bloq,
    shots: usize,
    seed: u64,
    hook: F,
) -> Result<VerifyReport, ExecError>
where F: FnMut(&mut Simulator, &ShotContext<'_>) -> Result<(), ExecError>,
Expand description

Run run_bloq_with_hook while preserving reused output patches.

Each reused patch is swapped onto a private ancilla at its output cut. The hook reads those ancillas through ShotContext::saved_outputs, allowing a joint-state oracle to include outputs no longer live at program termination.

As with any mutating hook, only the record-based detector portion of the returned report remains meaningful.

ยงErrors

See ExecError; also propagates any error the hook returns.