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

Qiskit / qiskit / 17755361068
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: add-litinski-to-asv
DEFAULT BRANCH: main
Ran 16 Sep 2025 05:57AM UTC
Jobs 1
Files 868
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

16 Sep 2025 05:16AM UTC coverage: 88.304% (-0.02%) from 88.323%
17755361068

push

github

web-flow
Make VF2 fully generic over index types and semantics (#14858)

* Make VF2 fully generic over index types and semantics

This reworks several major parts of the generics structure of the VF2
implementation and is a substantial change to the interface.  In
particular:

* The trait requirements on graphs that can be used with VF2 are wrapped
  into internal alias metatraits (with blanket implementations) to avoid
  needing to repeat the same bounds everywhere.  This matters more
  because of other changes, which require us to repeat the bounds in
  more places now.  The `for<'a>` bound on graph references (implying
  the underlying object must be `'static`) remains: we can either
  require borrowed objects (in which case we could avoid the `'static`
  but would struggle with the node reordering) or require owned objects
  (which we do).  If/when `petgraph` supplies GAT-based traits on
  references for `IntoEdgeReferences` etc, we could relax that bound,
  which in turn would allow input graphs that already implement
  `NodeCompactIndexable` to avoid being rewritten in default ordering.

* The `reorder` method was moved out of the `NodeSorter` trait, leaving
  only the `sort` method.  This lets the output graph type be controlled
  separately; sorting does not inherently affect impact the resulting
  graph structure that can be built with it, which lets us default the
  rewriting to using `Graph` even when given a `StableGraph`, letting us
  avoid `Option` unwrapping on `NodeIndex` lookups.

* The score/matching semantics impl on a 2-tuple is separated out into
  two separate implementations of `Semantics`, with scoring consistency
  now managed via a generic `NoSemantics`, and the `Vf2` struct itself
  ensuring scoring-consistency during its construction, via trait bounds
  on the generics.  There are now two wrapper structs, `Scorer` and
  `Matcher`, that disambiguate `Fn(&NeedleWeight, &HaystackWeight) ->
  Result<S, E>` inputs:

  - where `S: Vf2Scor... (continued)

483 of 624 new or added lines in 3 files covered. (77.4%)

13 existing lines in 3 files now uncovered.

92746 of 105030 relevant lines covered (88.3%)

857473.62 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
141
78.05
-1.92% crates/circuit/src/vf2.rs

Uncovered Existing Lines

Lines Coverage ∆ File
2
96.55
-2.3% qiskit/transpiler/passes/layout/sabre_pre_layout.py
5
92.27
0.0% crates/qasm2/src/lex.rs
6
97.56
0.47% crates/qasm2/src/parse.rs
Jobs
ID Job ID Ran Files Coverage
1 17755361068.1 16 Sep 2025 05:57AM UTC 868
88.3
GitHub Action Run
Source Files on build 17755361068
  • Tree
  • List 868
  • Changed 7
  • Source Changed 3
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #17755361068
  • 544885d7 on github
  • Prev Build on gh-readonly-queue/main/pr-15009-8e2be846862cd358d2253e8793838a7753267681 (#17733640073)
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

© 2025 Coveralls, Inc