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

Qiskit / qiskit / 35916542228
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: rust_porting_ucgate_partially
DEFAULT BRANCH: main
Ran 23 Sep 2026 09:03PM UTC
Jobs 1
Files 975
Run time 3min
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 08:31PM UTC coverage: 88.014% (+0.02%) from 87.996%
35916542228

push

github

web-flow
Add `QuantumProgram` to providers crate (#16924)

* Add a quantum program: functions, an entry point, and I/O structures

A quantum program is a collection of program functions, the last of which is its
entry point, together with one input structure and one output structure. A
caller hands over a data tree of inputs arranged as the program declares and
receives a tree of outputs arranged the same way, so an answer arrives organised
the way it was asked for. Everything between those two boundaries stays
positional, since the structures are where all naming lives.

The structures describe the entry point, because the entry point is what a caller
invokes, so a program carries one pair and a function carries none. Assembling one
checks that there is a function to enter at — every accessor reads through the last
one — and then that each structure has as many leaves as the entry point has
parameter and result instructions. Correspondence between a structure's leaves and
a function's slots rests on order, and that leaf count is the only structural check
there is: nothing maps between the two, so whoever builds a program adds its
boundary instructions in the order its structures declare.

Evaluating checks the supplied arrangement against the declared one before
computing anything, and reports both structures whole, so that a caller sees the
arrangement that was wanted beside the one it supplied. Rendering a structure as a
skeleton, `[counts: [_, _], shots: _]`, is what makes that message legible.

The declared type of every input and output is available without evaluating,
arranged in the structure it belongs to, and `DataTree::dotted_paths` addresses
each output from the output structure. The structure is the thing worth keeping,
since a set of paths cannot reconstruct it: an empty branch contributes no leaves,
and so no path.

* Stop deriving Clone, PartialEq and Eq on ProgramError

These traits bind every future variant, and every error a variant nests, t... (continued)

304 of 315 new or added lines in 2 files covered. (96.51%)

12 existing lines in 4 files now uncovered.

120745 of 137189 relevant lines covered (88.01%)

953172.02 hits per line

Uncovered Changes

Lines Coverage ∆ File
11
96.27
crates/providers/src/program/quantum_program.rs

Coverage Regressions

Lines Coverage ∆ File
6
97.19
-0.47% crates/qasm2/src/parse.rs
4
92.8
0.0% crates/qasm2/src/lex.rs
1
90.32
0.0% crates/circuit/src/parameter/parameter_expression.rs
1
81.53
0.0% crates/circuit/src/parameter/symbol_expr.rs
Jobs
ID Job ID Ran Files Coverage
1 35916542228.1 23 Sep 2026 09:03PM UTC 975
88.01
GitHub Action Run
Source Files on build 35916542228
  • Tree
  • List 975
  • Changed 5
  • Source Changed 1
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35916542228
  • 4c40315e on github
  • Prev Build on gh-readonly-queue/main/pr-16901-3687876d468635ca0748ff3aa92320e2327d8e65 (#35914119244)
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