feat!: Reorganize tket::passes and add hugr_passes re-exports#1472
feat!: Reorganize tket::passes and add hugr_passes re-exports#1472
tket::passes and add hugr_passes re-exports#1472Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1472 +/- ##
==========================================
+ Coverage 83.27% 83.61% +0.34%
==========================================
Files 185 187 +2
Lines 28038 28791 +753
Branches 27047 27800 +753
==========================================
+ Hits 23350 24075 +725
- Misses 3534 3553 +19
- Partials 1154 1163 +9
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:
|
|
This PR contains breaking changes to the public Rust API. cargo-semver-checks summary |
There was a problem hiding this comment.
Looks like this code is moved from tket/src/passes/borrow_squash.rs, but you didn't remove the old file?
There was a problem hiding this comment.
Ah, it was a leftover from trying to put the passes into categorical submodules.
I went back to the original flat structure since that would have been too restrictive and hard to change.
I deleted the file, it wasn't being compiled.
There was a problem hiding this comment.
Why are we removing this code?
There was a problem hiding this comment.
These have been dead code (not compiled) for a while.
We left them there just in case we wanted to use the code again, but now it doesn't seem likely.
There was a problem hiding this comment.
Why are we removing this code?
## 🤖 New release * `tket`: 0.17.0 -> 0.18.0 (✓ API compatible changes) * `tket-qsystem`: 0.23.0 -> 0.24.0 (✓ API compatible changes) <details><summary><i><b>Changelog</b></i></summary><p> ## `tket` <blockquote> ## [0.18.0](tket-v0.17.0...tket-v0.18.0) - 2026-04-02 ### Bug Fixes - *(pytket decoder)* Panic on repeated bit registers in pytket decoded output ([#1445](#1445)) - pytket encoder drops order edges to the output node ([#1466](#1466)) ### Documentation - Fix tket README introductory example ([#1463](#1463)) ### New Features - [**breaking**] Use raw Hugrs in pytket encoding/decoding API ([#1418](#1418)) - [**breaking**] Remove unused `lower_to_pytket` pass ([#1431](#1431)) - [**breaking**] Replace CircuitHash with hugr's implementation ([#1420](#1420)) - [**breaking**] Update MSRV to rust 1.91 ([#1446](#1446)) - [**breaking**] Update to hugr 0.26.0 ([#1448](#1448)) - [**breaking**] Follow pass scopes in composable passes ([#1429](#1429)) - Implemented `post_opdef` for `RotationOp` for constant folding ([#1468](#1468)) - [**breaking**] Reorganize `tket::passes` and add `hugr_passes` re-exports ([#1472](#1472)) - [**breaking**] Bump `hugr` dependency to 0.27.0 ([#1488](#1488)) - Move hugr-passes implementations to tket::passes ([#1487](#1487)) - Pass scopes in python API, update to hugr-py 0.16 ([#1464](#1464)) ### Refactor - *(llvm)* use llvm.is.fpclass for from_halfturns ([#1457](#1457)) ### Testing - Fixed signatures when decoding pytket circuits ([#1405](#1405)) </blockquote> ## `tket-qsystem` <blockquote> ## [0.24.0](tket-qsystem-v0.23.0...tket-qsystem-v0.24.0) - 2026-04-02 ### Bug Fixes - pytket encoder drops order edges to the output node ([#1466](#1466)) - Constant Folding with PassScope::Global should act globally, not just beneath the entrypoint ([#1470](#1470)) ### New Features - [**breaking**] Use raw Hugrs in pytket encoding/decoding API ([#1418](#1418)) - Add qsystem.rz pytket decoder ([#1432](#1432)) - [**breaking**] Update MSRV to rust 1.91 ([#1446](#1446)) - [**breaking**] Update to hugr 0.26.0 ([#1448](#1448)) - [**breaking**] Follow pass scopes in composable passes ([#1429](#1429)) - [**breaking**] Reorganize `tket::passes` and add `hugr_passes` re-exports ([#1472](#1472)) - Move hugr-passes implementations to tket::passes ([#1487](#1487)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). --------- Co-authored-by: Agustín Borgna <[email protected]>
🤖 I have created a release *beep* *boop* --- ## [0.13.0](tket-py-v0.12.16...tket-py-v0.13.0) (2026-04-07) ### ⚠ BREAKING CHANGES * Removed `Tk2Circuit` use `CompilationState` instead. Non-stable APIs have been marked as internal. They will be re-designed and stabilized in future releases. * Moved `tket::modifier::ModifierResolverPass` to * Renamed * Updated public `hugr` dependency to `0.26.0`. * Minimum supported Rust version bumped to 1.91 * Removed `CircuitHash` trait, use `Circuit::circuit_hash` or `hugr::algorithms::hash::HugrHash` instead. * Removed `tket::passes::lower_to_pytket`. Use `NormalizeGuppy` instead. * Renamed `TKETDecode::decode_inplace` to `decode_into`. * Removed deprecated `find_tuple_unpack_rewrites`. Use ### Features * expose ModifierResolverPass to Python ([#1502](#1502)) ([9e3e0de](9e3e0de)), closes [#1452](#1452) * Expose NormalizeGuppy::squash_borrows flag in python ([#1412](#1412)) ([ba25fa1](ba25fa1)) * Follow pass scopes in composable passes ([#1429](#1429)) ([ae0016c](ae0016c)) * Move hugr-passes implementations to tket::passes ([#1487](#1487)) ([cc5ca5c](cc5ca5c)) * Pass scopes in python API, update to hugr-py 0.16 ([#1464](#1464)) ([369aba2](369aba2)) * Print full traceback for rust-originated errors ([#1435](#1435)) ([9c03ee0](9c03ee0)) * Remove deprecated unpack tuple pass ([#1387](#1387)) ([86ac8f9](86ac8f9)) * Remove unused `lower_to_pytket` pass ([#1431](#1431)) ([a214abc](a214abc)) * Reorganize `tket::passes` and add `hugr_passes` re-exports ([#1472](#1472)) ([b3bc669](b3bc669)) * Replace `Tk2Circuit` with a simpler `CompilationState` definition ([#1482](#1482)) ([e814f35](e814f35)) * Replace CircuitHash with hugr's implementation ([#1420](#1420)) ([e2b4991](e2b4991)) * Update MSRV to rust 1.91 ([#1446](#1446)) ([b82a771](b82a771)) * Update to hugr 0.26.0 ([#1448](#1448)) ([f43a877](f43a877)) * Use raw Hugrs in pytket encoding/decoding API ([#1418](#1418)) ([9df9993](9df9993)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: Agustín Borgna <[email protected]> Co-authored-by: Agustín Borgna <[email protected]>
Followup to #1469.
Does some slight organization of the
tket::passessubmodules;chunksandunpack_containerundertket::passes::util.ModifierResolverPassfromtket::modifier::passtotket::passes.And adds re-exports for the
hugr_passesdefinitions here.In the future we may move their implementation to this crate, and deprecate the
hugr_passescrate altogether.BREAKING CHANGE: Moved
tket::passes::{chunks, unpack_container}totket::passes::utils.BREAKING CHANGE: Moved
tket::modifier::ModifierResolverPasstotket::passes.