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

Qiskit / qiskit / 35888788785
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: port-isometry-orchestration-rust
DEFAULT BRANCH: main
Ran 23 Sep 2026 05:01PM UTC
Jobs 1
Files 972
Run time 4min
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

23 Sep 2026 04:26PM UTC coverage: 87.9% (-0.001%) from 87.901%
35888788785

push

github

web-flow
A pass manager in Rust (#16820)

* Basic implementation

A basic initial implementation of a pass, task and passmanager. Has a first test to show the execution model works, but has no worked out pass context and no callback infrastructure yet.

* add callback registry

* Add tests for callback and io_types

* More tests & clippy

* Low hanging fruit from first reviews

* Rm unnecessary submodule

* PassContext as execution handle

* Implement a global PassManagerContext

* Fix clippy warnings

* Rework callbacks as traits

This makes callbacks extensible in the future w/o breaking ABI compat for C

* clippy

* Allow deleting keys

* More ergonomics

- More default types
- Fix passing dyn Any into the callbacks
- Implement Debug for Task/PM

* Remove insert/remove

* Revert `value as _`

* Fix dev-dependencies

* Remove callback handling

We need to redesign how the callbacks will run in the future.  As
written, this changes the structure of the `PassManager::run` method,
but even if we expose that in this same release, we can still add a
`PassManager::run_with_callbacks` in the future, so we're not tying our
hands.

The problem with the current state was that we hadn't fully designed how
to handle callbacks at different execution points; the system for a
single callback at the end of an atomic task execution mostly worked,
but we hadn't fully designed what information about the pass and the
state should be given.  This extended to the callback methods that were
intended to be called at "structure" points (like after a task list).

* Fix tests with `cache_pygates`

`DAGCircuit::push_operation_back` has a conditional Python-gate object
in its argument list.  It's easier just to build the `CircuitData`.

* Simplify push-task interfaces

* Make `Debug` implementation idiomatic

Using the `Formatter` methods properly lets us integrate with the
linebreak infrastructure, and so on.

This also motivates adding a `Pass::name` method for human-readable
output. ... (continued)

317 of 367 new or added lines in 3 files covered. (86.38%)

7 existing lines in 3 files now uncovered.

119483 of 135931 relevant lines covered (87.9%)

964832.15 hits per line

Uncovered Changes

Lines Coverage ∆ File
49
83.45
crates/passmanager/src/lib.rs
1
97.87
crates/passmanager/tests/circuit_pipeline.rs

Coverage Regressions

Lines Coverage ∆ File
5
92.03
-0.26% crates/qasm2/src/lex.rs
1
90.32
0.0% crates/circuit/src/parameter/parameter_expression.rs
1
81.53
-0.03% crates/circuit/src/parameter/symbol_expr.rs
Jobs
ID Job ID Ran Files Coverage
1 35888788785.1 23 Sep 2026 05:01PM UTC 972
87.9
GitHub Action Run
Source Files on build 35888788785
  • Tree
  • List 972
  • Changed 6
  • Source Changed 2
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35888788785
  • 26e808f2 on github
  • Prev Build on gh-readonly-queue/main/pr-16914-9cd75bfcc3a87b37f90d2365535953fbe5432115 (#35887581685)
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