|
Ran
|
Files
923
|
Run time
45s
|
Badge
README BADGES
|
push
github
Fix panic in `RemoveIdentityEquivalent` with `ParameterVector` global phase (#16054) (#16055) If a circuit has a global phase containing a `ParameterVectorElement`, the resulting `SymbolExpr` will transitively contain a `Py<PyAny>` pointing back to the `ParameterVector` object. When adding to the global phase, a name/symbol-map clone occurs, which requires us to be attached to the Python interpreter. Since `RemoveIdentityEquivalent` manually detaches from the Python interpreter, we may attempt to increment the refcount without being attached. This patch is intended to be minimal for backport to 2.4; there are several more invasive changes we could make (and largely _should_ make) to make `ParameterExpression` safer and more performant, and in general it is becoming clear we still have a lot of work to do to be able to remove the `py-clone` feature use of PyO3 and let the compiler catch these mistakes for us. (cherry picked from commit 16c808857) Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
104118 of 118840 relevant lines covered (87.61%)
1009689.0 hits per line
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
|---|