-
Notifications
You must be signed in to change notification settings - Fork 11
feat!: Interval is independent of resource IDs and scope position #1205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
This PR contains breaking changes to the public Rust API. cargo-semver-checks summary |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1205 +/- ##
==========================================
+ Coverage 78.73% 79.07% +0.34%
==========================================
Files 159 159
Lines 20157 20290 +133
Branches 19055 19188 +133
==========================================
+ Hits 15870 16045 +175
+ Misses 3310 3260 -50
- Partials 977 985 +8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
e02fb3a to
de2ffcf
Compare
|
@mariagg-quantinuum Could you review this please? I cannot requests from you atm 🫠 |
|
Checked this PR, all seems to work and make sense to me 👍 @lmondada |
|
Cheers, and
yes indeed, I can 🎉 |
|
@doug-q this was reviewed by @mariagg-quantinuum, but as she's not an owner of the repo, we would still need your approval. A second pair of eyes is always good anyways! Thanks in advance 😊 |
I want to define a `Subcircuit` as a combination of `Interval`s on resource paths (the parts with linear, non-copyable data), and ASTs of fully classical, copyable data. - PR #1205 was opened to refine the notion of `Interval` - this PR creates the `CopyableExpressionAST` type that corresponds to ASTs of classical data in hugr graphs. --------- Co-authored-by: Alan Lawrence <[email protected]>
|
@doug-q could you please review this when you have a moment? |
doug-q
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice
Previously,
Intervals were storingResourceIds andPositions. This made them only valid for a specificResourceScope. This data is no longer stored, so thatIntervals are now valid independently of the choice ofResourceIds andPositions. See the docstring ofIntervaland the added test.BREAKING CHANGE: most methods of resource::Interval now take a
ResourceScopeargument; Interval::singleton constructor renamed to Interval::new_singleton