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

Qiskit / qiskit / 37006714324
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: c/contributing
DEFAULT BRANCH: main
Ran 02 Oct 2026 12:58PM UTC
Jobs 1
Files 987
Run time 8min
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

02 Oct 2026 12:26PM UTC coverage: 87.976% (-0.1%) from 88.076%
37006714324

push

github

web-flow
Define `Pass` and `PassContext` handles for Python (#17104)

* Define `Pass` and `PassContext` handles for Python

This doesn't add the mechanism of _running_ these objects yet, but it
does set up the infrastructure for doing so.

The `PassContext` lifetime extension is some nasty `unsafe` to safely
send the lifetimes into Python which _could_ keep hold of them forever,
but hopefully the logic is _reasonably_ encapsulated to ensure that we
only hold the erased lifetime for the length of a `StolenContext`
object, which dies before the inner lifetime does, and steals the
context back.  We also require that the Python handle object does not
permit moving the object.

The addition of the `Send + Sync` bounds into the `PassManagerContext`
are because Python might attempt to send things between threads, so the
objects have to be safe to work with that, and similarly we use a
`static` reference to a dummy object, which is accessible from any
thread.

* Add partial integration with garbage collection

We cannot fully integrate; we currently have no system to traverse the
type-erased `dyn Any` objects that form individual passes.  This will
likely become solvable once we extend the dynamic-typing system to
attach trait implementations to the dynamic type objects.

5 of 150 new or added lines in 3 files covered. (3.33%)

16 existing lines in 3 files now uncovered.

122872 of 139665 relevant lines covered (87.98%)

937251.06 hits per line

Uncovered Changes

Lines Coverage ∆ File
136
2.65
-4.01% crates/pyext/src/passmanager.rs
7
88.96
-2.07% crates/passmanager/src/lib.rs
2
73.97
-2.08% qiskit/passmanager/lowering_passmanager.py

Coverage Regressions

Lines Coverage ∆ File
12
97.19
-0.94% crates/qasm2/src/parse.rs
3
92.8
0.26% crates/qasm2/src/lex.rs
1
81.53
0.0% crates/circuit/src/parameter/symbol_expr.rs
Jobs
ID Job ID Ran Files Coverage
1 37006714324.1 02 Oct 2026 12:58PM UTC 987
87.98
GitHub Action Run
Source Files on build 37006714324
  • Tree
  • List 987
  • Changed 7
  • Source Changed 4
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37006714324
  • 2a90e9a7 on github
  • Prev Build on gh-readonly-queue/main/pr-17103-d364f0a37bdebe3791145ec61d08483328722d16 (#37006712768)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc