|
Ran
|
Jobs
1
|
Files
923
|
Run time
3min
|
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>
5 of 5 new or added lines in 1 file covered. (100.0%)
7 existing lines in 3 files now uncovered.104118 of 118840 relevant lines covered (87.61%)
1009689.0 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 5 |
74.05 |
-0.2% | crates/circuit/src/parameter/symbol_expr.rs |
| 1 |
93.82 |
-0.24% | crates/qasm2/src/expr.rs |
| 1 |
92.8 |
0.77% | crates/qasm2/src/lex.rs |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 24564082673.1 | 923 |
87.61 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
|---|