• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit / 20138084837
88%

Build:
DEFAULT BRANCH: main
Ran 11 Dec 2025 04:02PM UTC
Jobs 1
Files 884
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Dec 2025 02:56PM UTC coverage: 88.302% (-0.03%) from 88.327%
20138084837

push

github

web-flow
Change type of `CircuitData` blocks from `Py<PyAny>` to `CircuitData` (#15432)

* Change type of `CircuitData` blocks from `Py<PyAny>` to `CircuitData`

This removes one of the largest requirements for Python interaction in
the core data model.  However, it currently comes at a major cost of
cloning both on extraction from Python space and on producing view
objects back _to_ Python space.  We are choosing to make this trade-off
as a temporary measure, to prioritise separation of the core data model
from Python, given that transpiler performance in the presence of
control flow is already poor.

While `CircuitData` and `DAGCircuit` are both directly `pyclass`, we
either have to encode the Python interaction deep into the data
structures (deeply undesirable) to handle the blocks, or we have this
current problematic cloning.  The way around this will be to separate
off `PyCircuitData(Ptr<CircuitData>)` and similar for `DAGCircuit`,
where `Ptr<T>` is some smart-pointer type that may represent either
ownership of an underlying object or a (maybe fallible) reference to an
owned object.  The exact mechanism of this (perhaps something
`Arc`/`Weak`-based) is not yet decided, but will likely motivate a
further change of the `blocks` structure.

This commit is now a completely remade version of a previous PR
(gh-15123), but much of the set up work, investigation and planning of
what became this was originally done by Kevin Hartman.

Co-authored-by: Kevin Hartman <kevin@hart.mn>

* Commit crimes against default arguments in the name of easy determinism

* Update release note

* Make `assign_single_parameter` private

---------

Co-authored-by: Kevin Hartman <kevin@hart.mn>

128 of 152 new or added lines in 12 files covered. (84.21%)

38 existing lines in 5 files now uncovered.

96347 of 109111 relevant lines covered (88.3%)

1208297.64 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
7
89.5
-0.21% crates/circuit/src/circuit_data.rs
17
81.91
-1.6% crates/circuit/src/circuit_instruction.rs

Uncovered Existing Lines

Lines Coverage ∆ File
4
92.8
0.51% crates/qasm2/src/lex.rs
5
73.06
-0.08% crates/circuit/src/parameter/symbol_expr.rs
8
68.62
3.72% crates/circuit/src/blocks.rs
9
86.29
-0.27% crates/circuit/src/operations.rs
12
97.09
-0.94% crates/qasm2/src/parse.rs
Jobs
ID Job ID Ran Files Coverage
1 20138084837.1 11 Dec 2025 04:02PM UTC 884
88.3
GitHub Action Run
Source Files on build 20138084837
  • Tree
  • List 884
  • Changed 18
  • Source Changed 12
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #20138084837
  • 6b963409 on github
  • Prev Build on gh-readonly-queue/main/pr-15060-61aed10c96785c6a5158dcc1290b7a1cbf90309c (#20130222717)
  • Next Build on main (#20138746935)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc