-
Notifications
You must be signed in to change notification settings - Fork 11
feat!: Replace Subcircuit // take 4 #1273
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
e133a67 to
8fb512c
Compare
|
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 #1273 +/- ##
==========================================
- Coverage 79.46% 78.63% -0.84%
==========================================
Files 160 161 +1
Lines 20378 21144 +766
Branches 19446 20212 +766
==========================================
+ Hits 16194 16626 +432
- Misses 3201 3528 +327
- Partials 983 990 +7
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:
|
8fb512c to
f901beb
Compare
|
The reason for the reduced coverage in |
96ddded to
659ad39
Compare
659ad39 to
7ada59e
Compare
|
FYI I've broken this up into #1288 (which I think can go straight in, I've made a couple of tiny modifications), #1289 (the bulk, needs reviewing), and #1290 (questions/concerns that much of the conversion-folding code should not be needed). Diffing the three together against this reveals that they are nearly identical, the only significant change being that I've skipped the parametrization of Rewriter since that wasn't used anywhere. Will update more when I've looked at those more. |
Thank you so much Alan! The parametrization will be required for the next PR I'll open, but I guess that change can wait until then :) Thanks again! |
Sorry for the delay! Mostly copying from #1223:
Hey Alan,
As promised, here is the subcircuit PR, rewritten to use CopyableExpr. This way subcircuits can be used to represent any valid SiblingSubgraph (indeed, a superset of SiblingSubgraph, as certain non-convex subgraphs are expressible too).
Note that I have replaced many of the "old" uses of Subcircuit with straight-forward
SiblingSubgraph. The extra abstraction layer was pretty useless. It might sense to migrate those (or new versions of them) to the newSubcircuitat some point, but that is orthogonal to this PR.The convexity check will come in a separate PR.
BREAKING CHANGE: New API for Subcircuit, see docs. The Rewrite trait now takes a generic node argument.