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

Qiskit / qiskit / 26318113345
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: revert-15783-basis_translator_dag
DEFAULT BRANCH: main
Ran 23 May 2026 12:44AM UTC
Jobs 1
Files 945
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 May 2026 12:15AM UTC coverage: 87.523% (+0.02%) from 87.508%
26318113345

push

github

web-flow
Use rust-native errors in `DAGCircuit` (#16134)

* Use rust-native errors in `DAGCircuit`

This should be step 1 for splitting `PyDAGCircuit` from `DAGCircuit`.
The following commits assure that any rust accessible method for `DAGCircuit` that:
1. Does not take a `py` token;
2. Is a public method.
does not need to depend on `PyErr` to process any errors.
It is ensured that these errors:
- Maintain the level of detail that the previous ones did.
- Correctly map to the same Python exceptions as before.

The enumeration for these errors is called `DAGCircuitInnerError` (subject to change) and is implemented with `thiserror`. I chose this over `anyhow` because it is better for specifying where the error comes from based on its variant rather than the message it contains.

* Lint: Use names instead of underscores

* Add: `anyhow!` usage for `DAGCircuitError
- Use `anyhow!` for any error types that don't require tracking of any variables coming from the `DAG` or that are part of the function arguments.
- Consolidate the amount of `DAG` error variants down from 40+ to 21. Can be consolidated further.

* Fix: Existing error formatting
- Use `this_error` to fix the formatting of current errors causing conflicts with their messages.
- Add `is_var` argument to differentiate Variables and Stretches in `VariableNotInlined`.

* Fix: consolidate `RegistryAbsentObject` error.

* Add: errors for `size` and `depth`.

* Refactor: `DAGCircuitInnerError` to `DAGError`

* Fix: Add custom `From` impl for `Infallible`
- The new implementation elides `Infallible` by using a 0-variant `match` which will be valid only with `Infallible` and return nothing.

* Fix: Add context to `WireOutOfRange`
- Remove usage of `anyhow` for `WireOutOfRange`.

* Remove: `anyhow` in `General errors
We removed `anyhow` from the circuit crate and instead assumed any error of type `String` should be assigned to a `General` error.

* Rename: `RegisterRef`, `ConcreteWire` to `RegisterType`, `Shareabl... (continued)

256 of 345 new or added lines in 5 files covered. (74.2%)

21 existing lines in 4 files now uncovered.

108458 of 123920 relevant lines covered (87.52%)

960208.62 hits per line

Uncovered Changes

Lines Coverage ∆ File
88
85.11
0.42% crates/circuit/src/dag_circuit.rs
1
86.36
0.0% crates/transpiler/src/passes/unroll_3q_or_more.rs

Coverage Regressions

Lines Coverage ∆ File
8
73.93
-0.33% crates/circuit/src/parameter/symbol_expr.rs
6
85.11
0.42% crates/circuit/src/dag_circuit.rs
6
92.03
-1.03% crates/qasm2/src/lex.rs
1
91.04
0.0% crates/circuit/src/parameter/parameter_expression.rs
Jobs
ID Job ID Ran Files Coverage
1 26318113345.1 23 May 2026 12:44AM UTC 945
87.52
GitHub Action Run
Source Files on build 26318113345
  • Tree
  • List 945
  • Changed 10
  • Source Changed 5
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26318113345
  • c4d8bee3 on github
  • Prev Build on gh-readonly-queue/main/pr-16221-7648d768c19ec182791cf59916a4ea653e54d4ce (#26253780246)
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