-
Notifications
You must be signed in to change notification settings - Fork 6
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
feat: Add an explicit struct for the tket2 sympy op #616
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cqc-alec
approved these changes
Sep 23, 2024
github-merge-queue bot
pushed a commit
that referenced
this pull request
Sep 23, 2024
Replaces the ad-hoc definition of sympy operations with an opdef / concrete op pair that can be `cast`ed to. We need this for the _tket2->pytket_ encoder. Includes #615
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #616 +/- ##
==========================================
+ Coverage 82.28% 82.63% +0.34%
==========================================
Files 47 48 +1
Lines 6447 6496 +49
Branches 6447 6496 +49
==========================================
+ Hits 5305 5368 +63
+ Misses 785 770 -15
- Partials 357 358 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
Oct 1, 2024
## 🤖 New release * `tket2`: 0.4.0 -> 0.5.0 (⚠️ API breaking changes) * `tket2-hseries`: 0.4.0 -> 0.5.0 (⚠️ API breaking changes) ###⚠️ `tket2` breaking changes ``` --- failure enum_marked_non_exhaustive: enum marked #[non_exhaustive] --- Description: A public enum has been marked #[non_exhaustive]. Pattern-matching on it outside of its crate must now include a wildcard pattern like `_`, or it will fail to compile. ref: https://doc.rust-lang.org/cargo/reference/semver.html#attr-adding-non-exhaustive impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.35.0/src/lints/enum_marked_non_exhaustive.ron Failed in: enum InvalidPatternMatch in /tmp/.tmp7zsbCi/tket2/tket2/src/portmatching/matcher.rs:376 enum MatcherSerialisationError in /tmp/.tmp7zsbCi/tket2/tket2/src/portmatching/matcher.rs:401 enum CircuitError in /tmp/.tmp7zsbCi/tket2/tket2/src/circuit.rs:458 enum CircuitError in /tmp/.tmp7zsbCi/tket2/tket2/src/circuit.rs:458 enum RewriterSerialisationError in /tmp/.tmp7zsbCi/tket2/tket2/src/rewrite/ecc_rewriter.rs:209 enum PullForwardError in /tmp/.tmp7zsbCi/tket2/tket2/src/passes/commutation.rs:187 enum CircuitLoadError in /tmp/.tmp7zsbCi/tket2/tket2/src/serialize/guppy.rs:114 enum CircuitLoadError in /tmp/.tmp7zsbCi/tket2/tket2/src/serialize/guppy.rs:114 enum CircuitMutError in /tmp/.tmp7zsbCi/tket2/tket2/src/circuit.rs:495 enum CircuitMutError in /tmp/.tmp7zsbCi/tket2/tket2/src/circuit.rs:495 --- failure enum_tuple_variant_changed_kind: An enum tuple variant changed kind --- Description: A public enum's exhaustive tuple variant has changed to a different kind of enum variant, breaking possible instantiations and patterns. ref: https://doc.rust-lang.org/reference/items/enumerations.html impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.35.0/src/lints/enum_tuple_variant_changed_kind.ron Failed in: variant PullForwardError::NoQbInCommand in /tmp/.tmp7zsbCi/tket2/tket2/src/passes/commutation.rs:194 variant PullForwardError::NoCommandForQb in /tmp/.tmp7zsbCi/tket2/tket2/src/passes/commutation.rs:200 variant CircuitMutError::DeleteNonEmptyWire in /tmp/.tmp7zsbCi/tket2/tket2/src/circuit.rs:504 variant CircuitMutError::InvalidPortOffset in /tmp/.tmp7zsbCi/tket2/tket2/src/circuit.rs:512 variant CircuitMutError::DeleteNonEmptyWire in /tmp/.tmp7zsbCi/tket2/tket2/src/circuit.rs:504 variant CircuitMutError::InvalidPortOffset in /tmp/.tmp7zsbCi/tket2/tket2/src/circuit.rs:512 ``` ###⚠️ `tket2-hseries` breaking changes ``` --- failure enum_marked_non_exhaustive: enum marked #[non_exhaustive] --- Description: A public enum has been marked #[non_exhaustive]. Pattern-matching on it outside of its crate must now include a wildcard pattern like `_`, or it will fail to compile. ref: https://doc.rust-lang.org/cargo/reference/semver.html#attr-adding-non-exhaustive impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.35.0/src/lints/enum_marked_non_exhaustive.ron Failed in: enum HSeriesPassError in /tmp/.tmp7zsbCi/tket2/tket2-hseries/src/lib.rs:38 enum LazifyMeasurePassError in /tmp/.tmp7zsbCi/tket2/tket2-hseries/src/lazify_measure.rs:45 enum LowerTk2Error in /tmp/.tmp7zsbCi/tket2/tket2-hseries/src/extension/hseries/lower.rs:41 --- failure enum_tuple_variant_changed_kind: An enum tuple variant changed kind --- Description: A public enum's exhaustive tuple variant has changed to a different kind of enum variant, breaking possible instantiations and patterns. ref: https://doc.rust-lang.org/reference/items/enumerations.html impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.35.0/src/lints/enum_tuple_variant_changed_kind.ron Failed in: variant LowerTk2Error::Unlowered in /tmp/.tmp7zsbCi/tket2/tket2-hseries/src/extension/hseries/lower.rs:57 ``` <details><summary><i><b>Changelog</b></i></summary><p> ## `tket2` <blockquote> ## [0.5.0](tket2-v0.4.0...tket2-v0.5.0) - 2024-09-30 ### Bug Fixes - Support hugr packages, fix the notebooks ([#622](#622)) ### New Features - Add an explicit struct for the tket2 sympy op ([#616](#616)) - Support encoding float and sympy ops ([#618](#618)) </blockquote> ## `tket2-hseries` <blockquote> ## [0.4.0](tket2-hseries-v0.3.0...tket2-hseries-v0.4.0) - 2024-09-16 ### New Features - [**breaking**] `HSeriesPass` lowers `Tk2Op`s into `HSeriesOp`s ([#602](#602)) - [**breaking**] simplify angle extension in to a half turns rotation type ([#611](#611)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/MarcoIeni/release-plz/).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Replaces the ad-hoc definition of sympy operations with an opdef / concrete op pair that can be
cast
ed to.We need this for the tket2->pytket encoder.
Added temporary re-exports to keep this change non-breaking.
Includes #615