Skip to content

feat: Support sol ___future_measure - #213

Merged
jake-arkinstall merged 4 commits into
0.3-seriesfrom
feat/sol-future-measure
Sep 7, 2026
Merged

feat: Support sol ___future_measure#213
jake-arkinstall merged 4 commits into
0.3-seriesfrom
feat/sol-future-measure

Conversation

@jake-arkinstall

Copy link
Copy Markdown
Collaborator
  • Supports the new way of handling ___lazy_measure and ___lazy_measure_leaked, which is ___future_measure(qubit: u64, flags: u64). The flags 0 (normal binary measure) and 1 (ternary leakage measurement) are supported. A TODO is how to support different potential kinds of future measurement in future if any.
  • Does NOT remove support for ___lazy_measure and ___lazy_measure_leaked so that existing compilers remain supported.
  • Modifies QIS tests to call ___future_measure instead of ___lazy_measure or ___lazy_measure_leaked

@jake-arkinstall
jake-arkinstall marked this pull request as ready for review September 1, 2026 15:32
Copilot AI lite review requested due to automatic review settings September 1, 2026 15:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

___future_measure currently returns a 0 “future reference” for unknown flags, which can propagate an invalid handle into future reads instead of failing fast.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR updates the SOL QIS interface and accompanying LLVM-IR test fixtures to support the new measurement entrypoint ___future_measure(qubit, flags) (flags 0 = normal binary measurement, 1 = ternary leakage measurement), while keeping ___lazy_measure and ___lazy_measure_leaked for backwards compatibility.

Changes:

  • Add ___future_measure(uint64_t q, uint64_t flags) to the SOL QIS C interface, mapping flags 0/1 to the existing lazy-measure backends.
  • Keep ___lazy_measure / ___lazy_measure_leaked as deprecated shims.
  • Update many .ll test resources to declare/call ___future_measure instead of ___lazy_measure / ___lazy_measure_leaked.
File summaries
File Description
selene-ext/interfaces/sol_qis/c/include/sol_qis/sol_ops.h Export ___future_measure and mark legacy lazy-measure APIs as deprecated.
selene-ext/interfaces/sol_qis/c/src/sol_ops.c Implement ___future_measure and keep deprecated lazy-measure shims.
selene-sim/python/tests/resources/qis/sol/add_3_11-any.ll Update SOL QIS test IR to declare/call ___future_measure(..., 0).
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_array_results_unparsed/array_results-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_array_results_unparsed/array_results-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_array_results_unparsed/array_results-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_array_results_unparsed/array_results-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_array_results_unparsed/array_results-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_corrupted_plugin_unparsed/corrupted_plugin-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_corrupted_plugin_unparsed/corrupted_plugin-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_corrupted_plugin_unparsed/corrupted_plugin-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_corrupted_plugin_unparsed/corrupted_plugin-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_corrupted_plugin_unparsed/corrupted_plugin-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_exit_unparsed/exit_unparsed-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_exit_unparsed/exit_unparsed-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_exit_unparsed/exit_unparsed-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_exit_unparsed/exit_unparsed-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_exit_unparsed/exit_unparsed-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_multishot_unparsed/unparsed_flip_n4-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_multishot_unparsed/unparsed_flip_n4-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_multishot_unparsed/unparsed_flip_n4-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_multishot_unparsed/unparsed_flip_n4-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_multishot_unparsed/unparsed_flip_n4-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_unparsed/unparsed_flip_n4-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_unparsed/unparsed_flip_n4-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_unparsed/unparsed_flip_n4-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_unparsed/unparsed_flip_n4-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_unparsed/unparsed_flip_n4-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_with_metrics_unparsed/unparsed_flip_n4-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_with_metrics_unparsed/unparsed_flip_n4-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_with_metrics_unparsed/unparsed_flip_n4-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_with_metrics_unparsed/unparsed_flip_n4-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_flip_some_with_metrics_unparsed/unparsed_flip_n4-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_infinite_loop_unparsed/infinite_loop-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_infinite_loop_unparsed/infinite_loop-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_infinite_loop_unparsed/infinite_loop-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_infinite_loop_unparsed/infinite_loop-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_infinite_loop_unparsed/infinite_loop-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_memory_allocation_unparsed/memory_allocation-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_memory_allocation_unparsed/memory_allocation-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_memory_allocation_unparsed/memory_allocation-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_memory_allocation_unparsed/memory_allocation-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_memory_allocation_unparsed/memory_allocation-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_panic_unparsed/panic_unparsed-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_panic_unparsed/panic_unparsed-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_panic_unparsed/panic_unparsed-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_panic_unparsed/panic_unparsed-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_unparsed/test_panic_unparsed/panic_unparsed-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_timeout/test_timeout/non_terminating_with_results-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_timeout/test_timeout/non_terminating_with_results-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_timeout/test_timeout/non_terminating_with_results-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_timeout/test_timeout/non_terminating_with_results-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_timeout/test_timeout/non_terminating_with_results-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_trace/test_ghz_trace/trace_test-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_trace/test_ghz_trace/trace_test-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_trace/test_ghz_trace/trace_test-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_trace/test_ghz_trace/trace_test-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_trace/test_ghz_trace/trace_test-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-QuestPlugin]/quantum_replay_state-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-QuestPlugin]/quantum_replay_state-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-QuestPlugin]/quantum_replay_state-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-QuestPlugin]/quantum_replay_state-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-QuestPlugin]/quantum_replay_state-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-QuestPlugin]/quantum_replay_state-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-QuestPlugin]/quantum_replay_state-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-QuestPlugin]/quantum_replay_state-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-QuestPlugin]/quantum_replay_state-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-QuestPlugin]/quantum_replay_state-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-StimPlugin]/quantum_replay_state-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-StimPlugin]/quantum_replay_state-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-StimPlugin]/quantum_replay_state-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-StimPlugin]/quantum_replay_state-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[1-StimPlugin]/quantum_replay_state-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-StimPlugin]/quantum_replay_state-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-StimPlugin]/quantum_replay_state-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-StimPlugin]/quantum_replay_state-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-StimPlugin]/quantum_replay_state-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_debug/test_quantum_replay_state[0-StimPlugin]/quantum_replay_state-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_2q_error/depolarising_2q_error-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_2q_error/depolarising_2q_error-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_2q_error/depolarising_2q_error-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_2q_error/depolarising_2q_error-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_2q_error/depolarising_2q_error-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_init_error/depolarising_init_error-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_init_error/depolarising_init_error-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_init_error/depolarising_init_error-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_init_error/depolarising_init_error-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_init_error/depolarising_init_error-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_measurement_error/depolarising_measurement_error-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_measurement_error/depolarising_measurement_error-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_measurement_error/depolarising_measurement_error-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_measurement_error/depolarising_measurement_error-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_measurement_error/depolarising_measurement_error-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_1q_error/depolarising_1q_error-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_1q_error/depolarising_1q_error-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_1q_error/depolarising_1q_error-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_1q_error/depolarising_1q_error-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_depolarising_error_model/test_1q_error/depolarising_1q_error-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_determinism/test_repetition/determinism_repetition-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_determinism/test_repetition/determinism_repetition-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_determinism/test_repetition/determinism_repetition-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_determinism/test_repetition/determinism_repetition-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_determinism/test_repetition/determinism_repetition-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_runtimes/test_simple_vs_softrz/simple_vs_softrz-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_runtimes/test_simple_vs_softrz/simple_vs_softrz-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_runtimes/test_simple_vs_softrz/simple_vs_softrz-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_runtimes/test_simple_vs_softrz/simple_vs_softrz-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_runtimes/test_simple_vs_softrz/simple_vs_softrz-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[QuestPlugin]/quantum_replay_quest-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[QuestPlugin]/quantum_replay_quest-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[QuestPlugin]/quantum_replay_quest-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[QuestPlugin]/quantum_replay_quest-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[QuestPlugin]/quantum_replay_quest-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_recursive_condition/recursive_condition-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_recursive_condition/recursive_condition-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_recursive_condition/recursive_condition-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_recursive_condition/recursive_condition-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_recursive_condition/recursive_condition-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[StimPlugin]/quantum_replay_quest-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[StimPlugin]/quantum_replay_quest-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[StimPlugin]/quantum_replay_quest-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[StimPlugin]/quantum_replay_quest-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_replay/test_quantum_replay[StimPlugin]/quantum_replay_quest-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_from_head-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_from_head-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_from_head-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_from_head-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_from_head-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_within_tail-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_within_tail-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_within_tail-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_within_tail-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measure_leaked/leak_within_tail-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure (incl. leakage flags).
selene-sim/python/tests/resources/from_guppy/test_guppy/test_circuit_output/circuit_output-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_circuit_output/circuit_output-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_circuit_output/circuit_output-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_circuit_output/circuit_output-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_circuit_output/circuit_output-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_corrupted_plugin/broken_plugin-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_corrupted_plugin/broken_plugin-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_corrupted_plugin/broken_plugin-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_corrupted_plugin/broken_plugin-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_corrupted_plugin/broken_plugin-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cy/cy_test-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cy/cy_test-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cy/cy_test-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cy/cy_test-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cy/cy_test-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cz/cz_test-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cz/cz_test-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cz/cz_test-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cz/cz_test-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_cz/cz_test-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_exit/exit-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_exit/exit-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_exit/exit-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_exit/exit-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_exit/exit-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_flip_some/flip_n4-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_flip_some/flip_n4-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_flip_some/flip_n4-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_flip_some/flip_n4-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_flip_some/flip_n4-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output/measurement_output-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output/measurement_output-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output/measurement_output-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output/measurement_output-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output/measurement_output-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output_multishot/measurement_output_multishot-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output_multishot/measurement_output_multishot-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output_multishot/measurement_output_multishot-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output_multishot/measurement_output_multishot-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_measurement_output_multishot/measurement_output_multishot-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics/metrics-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics/metrics-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics/metrics-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics/metrics-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics/metrics-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics_on_exit/metrics_on_exit-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics_on_exit/metrics_on_exit-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics_on_exit/metrics_on_exit-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics_on_exit/metrics_on_exit-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_metrics_on_exit/metrics_on_exit-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_no_results/no_results-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_no_results/no_results-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_no_results/no_results-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_no_results/no_results-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_no_results/no_results-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_panic/panic-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_panic/panic-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_panic/panic-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_panic/panic-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_panic/panic-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_print_array/flip_n4_arr-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_print_array/flip_n4_arr-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_print_array/flip_n4_arr-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_print_array/flip_n4_arr-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_print_array/flip_n4_arr-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_rus/repeat_until_success-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_rus/repeat_until_success-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_rus/repeat_until_success-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_rus/repeat_until_success-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_rus/repeat_until_success-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_sim_restriction/nonclifford-sol-aarch64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_sim_restriction/nonclifford-sol-aarch64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_sim_restriction/nonclifford-sol-x86_64-apple-darwin.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_sim_restriction/nonclifford-sol-x86_64-unknown-linux-gnu.ll Update test IR to declare/call ___future_measure.
selene-sim/python/tests/resources/from_guppy/test_guppy/test_sim_restriction/nonclifford-sol-x86_64-windows-gnu.ll Update test IR to declare/call ___future_measure.
selene-ext/runtimes/soft_rz/python/tests/resources/from_guppy/test_batching/test_batching_behaviour/qft_8qb-sol-aarch64-apple-darwin.ll Update SoftRZ test IR to declare/call ___future_measure.
selene-ext/runtimes/soft_rz/python/tests/resources/from_guppy/test_batching/test_batching_behaviour/qft_8qb-sol-aarch64-unknown-linux-gnu.ll Update SoftRZ test IR to declare/call ___future_measure.
selene-ext/runtimes/soft_rz/python/tests/resources/from_guppy/test_batching/test_batching_behaviour/qft_8qb-sol-x86_64-apple-darwin.ll Update SoftRZ test IR to declare/call ___future_measure.
selene-ext/runtimes/soft_rz/python/tests/resources/from_guppy/test_batching/test_batching_behaviour/qft_8qb-sol-x86_64-unknown-linux-gnu.ll Update SoftRZ test IR to declare/call ___future_measure.
selene-ext/runtimes/soft_rz/python/tests/resources/from_guppy/test_batching/test_batching_behaviour/qft_8qb-sol-x86_64-windows-gnu.ll Update SoftRZ test IR to declare/call ___future_measure.
Review details
  • Files reviewed: 213/213 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread selene-ext/interfaces/sol_qis/c/src/sol_ops.c
@jake-arkinstall
jake-arkinstall merged commit eb527d5 into 0.3-series Sep 7, 2026
10 checks passed
@jake-arkinstall
jake-arkinstall deleted the feat/sol-future-measure branch September 7, 2026 10:33
jake-arkinstall added a commit that referenced this pull request Sep 7, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.3.1](selene-sim-v0.3.0...selene-sim-v0.3.1)
(2026-09-07)


### Features

* backtraces on panic
([#210](#210))
([9f89a02](9f89a02))
* Modify inter-shot random_seed behaviour, provide legacy behaviour
through seed_mode
([#209](#209))
([d71751a](d71751a))
* Support sol ___future_measure
([#213](#213))
([eb527d5](eb527d5))


### Dependencies

* Widen numpy, llvmlite, pyyaml, pydantic dependencies. Bump minimum
ziglang and lief.
([#204](#204))
([0e8aea3](0e8aea3))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: Jake Arkinstall <65358059+jake-arkinstall@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants