#17001·qiskit

Add `Param::Expr` and use in Rust `Store`, `Delay`

Author: jakelishmanCreated Sep 17, 2026Updated Sep 20, 2026
Labelscore team

In #16768 we're adding a Param::Int to assist with Delay. In fact, Delay also needs some like a Param::Expr to be fully Python independent; this is used in things like stretch handling. (See https://github.com/Qiskit/qiskit/pull/16768#discussion_r4039208159.)

In #16897, we added Rust-native Store, which wanted to store two Expr objects in its payload, and so couldn't fit in StandardInstruction because that only gets a 32-bit payload. If we were to introduce Param::Expr, we could make Store a proper StandardInstruction, which will make it much less special to handle in downstream code.

As a major knock-on benefit, adding Param::Expr would take a big step to allowing us to represent runtime typed/computed angles in gates, rather than just the symbolic ParameterExpression stuff that was always initially intended to get modified by assign_parameters before execution.

(Note: this issue is for core-team discussion - it's not accepting external contributions.)