-
Notifications
You must be signed in to change notification settings - Fork 14
feat: Remove extension sets from hugr-model
.
#2031
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
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2031 +/- ##
==========================================
+ Coverage 82.79% 83.09% +0.30%
==========================================
Files 215 215
Lines 41148 40895 -253
Branches 37359 37109 -250
==========================================
- Hits 34067 33981 -86
+ Misses 5186 5030 -156
+ Partials 1895 1884 -11
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
|
694bce5
to
e3a479d
Compare
🤖 I have created a release *beep* *boop* --- ## [0.11.4](hugr-py-v0.11.3...hugr-py-v0.11.4) (2025-03-28) ### Features * Python bindings for `hugr-model`. ([#1959](#1959)) ([25df063](25df063)) * Remove extension sets from `hugr-model`. ([#2031](#2031)) ([5dd1f96](5dd1f96)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
## 🤖 New release * `hugr-model`: 0.18.1 -> 0.19.0 (⚠ API breaking changes) * `hugr-core`: 0.15.2 -> 0.15.3 ~(⚠ API breaking changes)~ * `hugr-llvm`: 0.15.2 -> 0.15.3 (✓ API compatible changes) * `hugr-passes`: 0.15.2 -> 0.15.3 (✓ API compatible changes) * `hugr`: 0.15.2 -> 0.15.3 (✓ API compatible changes) * `hugr-cli`: 0.15.2 -> 0.15.3 (✓ API compatible changes) ### ⚠ `hugr-model` breaking changes ```text --- failure enum_missing: pub enum removed or renamed --- Description: A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely. ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/enum_missing.ron Failed in: enum hugr_model::v0::table::ExtSetPart, previously in file /tmp/.tmpDqJ3X7/hugr-model/src/v0/table/mod.rs:352 --- failure enum_variant_added: enum variant added on exhaustive enum --- Description: A publicly-visible enum without #[non_exhaustive] has a new variant. ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/enum_variant_added.ron Failed in: variant Term:Func in /tmp/.tmpIpZPlW/hugr/hugr-model/src/v0/table/mod.rs:341 --- failure enum_variant_missing: pub enum variant removed or renamed --- Description: A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely. ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/enum_variant_missing.ron Failed in: variant Term::ExtSet, previously in file /tmp/.tmpDqJ3X7/hugr-model/src/v0/table/mod.rs:316 variant Term::ConstFunc, previously in file /tmp/.tmpDqJ3X7/hugr-model/src/v0/table/mod.rs:321 variant Term::ExtSet, previously in file /tmp/.tmpDqJ3X7/hugr-model/src/v0/ast/mod.rs:237 --- failure pub_module_level_const_missing: pub module-level const is missing --- Description: A public const is missing or renamed ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/pub_module_level_const_missing.ron Failed in: CORE_EXT_SET in file /tmp/.tmpDqJ3X7/hugr-model/src/v0/mod.rs:177 ``` ### ⚠ `hugr-core` breaking changes (⚠️ ignored⚠️ ) ```text --- failure enum_variant_added: enum variant added on exhaustive enum --- Description: A publicly-visible enum without #[non_exhaustive] has a new variant. ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/enum_variant_added.ron Failed in: variant ImportError:OrderHint in /tmp/.tmpIpZPlW/hugr/hugr-core/src/import.rs:73 ``` <details><summary><i><b>Changelog</b></i></summary><p> ## `hugr-model` <blockquote> ## [0.19.0](hugr-model-v0.18.1...hugr-model-v0.19.0) - 2025-04-02 ### New Features - Python bindings for `hugr-model`. ([#1959](#1959)) - Remove extension sets from `hugr-model`. ([#2031](#2031)) - Packages in `hugr-model` and envelope support. ([#2026](#2026)) - Represent order edges in `hugr-model` as metadata. ([#2027](#2027)) </blockquote> ## `hugr-core` <blockquote> ## [0.16.0](hugr-core-v0.15.2...hugr-core-v0.16.0) - 2025-04-02 ### Documentation - Provide docs for array ops, fix bad doc for HugrView::poly_func_type ([#2021](#2021)) ### New Features - Expand SimpleReplacement API ([#1920](#1920)) - Python bindings for `hugr-model`. ([#1959](#1959)) - ReplaceTypes pass allows replacing extension types and ops ([#1989](#1989)) - Remove extension sets from `hugr-model`. ([#2031](#2031)) - Packages in `hugr-model` and envelope support. ([#2026](#2026)) - Represent order edges in `hugr-model` as metadata. ([#2027](#2027)) - add `build_expect_sum` to allow specific error messages ([#2032](#2032)) </blockquote> ## `hugr-llvm` <blockquote> ## [0.16.0](hugr-llvm-v0.15.2...hugr-llvm-v0.16.0) - 2025-04-02 ### New Features - *(hugr-llvm)* Add llvm codegen for `arithmetic.float.fpow` ([#2042](#2042)) - *(hugr-llvm)* Emit divmod and mod operations ([#2025](#2025)) </blockquote> ## `hugr-passes` <blockquote> ## [0.16.0](hugr-passes-v0.15.2...hugr-passes-v0.16.0) - 2025-04-02 ### New Features - ReplaceTypes pass allows replacing extension types and ops ([#1989](#1989)) - MakeTuple->UnpackTuple elision pass ([#2012](#2012)) - [**breaking**] Extend LowerTypes pass to linearize by inserting copy/discard ([#2018](#2018)) </blockquote> ## `hugr` <blockquote> ## [0.16.0](hugr-v0.15.2...hugr-v0.16.0) - 2025-04-02 ### Documentation - Provide docs for array ops, fix bad doc for HugrView::poly_func_type ([#2021](#2021)) ### New Features - MakeTuple->UnpackTuple elision pass ([#2012](#2012)) - [**breaking**] Extend LowerTypes pass to linearize by inserting copy/discard ([#2018](#2018)) - Expand SimpleReplacement API ([#1920](#1920)) - Python bindings for `hugr-model`. ([#1959](#1959)) - ReplaceTypes pass allows replacing extension types and ops ([#1989](#1989)) - Remove extension sets from `hugr-model`. ([#2031](#2031)) - Represent order edges in `hugr-model` as metadata. ([#2027](#2027)) - add `build_expect_sum` to allow specific error messages ([#2032](#2032)) - Packages in `hugr-model` and envelope support. ([#2026](#2026)) </blockquote> ## `hugr-cli` <blockquote> ## [0.16.0](hugr-cli-v0.15.2...hugr-cli-v0.16.0) - 2025-04-02 ### Documentation - Add usage info to hugr-cli's rustdocs ([#2044](#2044)) </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]>
## 🤖 New release * `hugr-model`: 0.19.0 -> 0.19.1 (✓ API compatible changes) * `hugr-core`: 0.15.3 -> 0.15.4 (✓ API compatible changes) * `hugr-llvm`: 0.15.3 -> 0.15.4 (~⚠ API breaking changes~ overwriten) * `hugr-passes`: 0.15.3 -> 0.15.4 (✓ API compatible changes) * `hugr`: 0.15.3 -> 0.15.4 (✓ API compatible changes) * `hugr-cli`: 0.15.3 -> 0.15.4 (✓ API compatible changes) ### ⚠ `hugr-llvm` breaking changes ```text --- failure trait_missing: pub trait removed or renamed --- Description: A publicly-visible trait cannot be imported by its prior path. A `pub use` may have been removed, or the trait itself may have been renamed or removed entirely. ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/trait_missing.ron Failed in: trait hugr_llvm::utils::array_op_builder::ArrayOpBuilder, previously in file /tmp/.tmpyTFqSG/hugr-llvm/src/utils/array_op_builder.rs:10 trait hugr_llvm::utils::ArrayOpBuilder, previously in file /tmp/.tmpyTFqSG/hugr-llvm/src/utils/array_op_builder.rs:10 ``` <details><summary><i><b>Changelog</b></i></summary><p> ## `hugr-model` <blockquote> ## [0.19.0](hugr-model-v0.18.1...hugr-model-v0.19.0) - 2025-04-02 ### New Features - Python bindings for `hugr-model`. ([#1959](#1959)) - Remove extension sets from `hugr-model`. ([#2031](#2031)) - Packages in `hugr-model` and envelope support. ([#2026](#2026)) - Represent order edges in `hugr-model` as metadata. ([#2027](#2027)) </blockquote> ## `hugr-core` <blockquote> ## [0.16.0](hugr-core-v0.15.3...hugr-core-v0.16.0) - 2025-04-30 ### New Features - Export the portgraph hierarchy in HugrInternals ([#2057](#2057)) - Implement Debug for generic Wire<N>s ([#2068](#2068)) - Add ExtensionOp helpers ([#2072](#2072)) - ReplaceTypes: handlers for array constants + linearization ([#2023](#2023)) - move `ArrayOpBuilder` to hugr-core ([#2115](#2115)) ### Testing - Disable IO-dependent tests when running miri ([#2123](#2123)) </blockquote> ## `hugr-llvm` <blockquote> ## [0.16.0](hugr-llvm-v0.15.3...hugr-llvm-v0.16.0) - 2025-04-30 ### New Features - move `ArrayOpBuilder` to hugr-core ([#2115](#2115)) </blockquote> ## `hugr-passes` <blockquote> ## [0.16.0](hugr-passes-v0.15.3...hugr-passes-v0.16.0) - 2025-04-30 ### New Features - ReplaceTypes: handlers for array constants + linearization ([#2023](#2023)) </blockquote> ## `hugr` <blockquote> ## [0.16.0](hugr-v0.15.3...hugr-v0.16.0) - 2025-04-30 ### New Features - Export the portgraph hierarchy in HugrInternals ([#2057](#2057)) - Implement Debug for generic Wire<N>s ([#2068](#2068)) - Add ExtensionOp helpers ([#2072](#2072)) - ReplaceTypes: handlers for array constants + linearization ([#2023](#2023)) - move `ArrayOpBuilder` to hugr-core ([#2115](#2115)) ### Testing - Disable IO-dependent tests when running miri ([#2123](#2123)) </blockquote> ## `hugr-cli` <blockquote> ## [0.15.3](hugr-cli-v0.15.2...hugr-cli-v0.15.3) - 2025-04-02 ### Documentation - Add usage info to hugr-cli's rustdocs ([#2044](#2044)) </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]>
This PR removes extension sets from
hugr-model
(see #1906).hugr-core
orhugr-py
continue to have extension sets for now, but those are ignored by export and imported as empty. This is important to integrate before stabilisinghugr-model
, since it changes the arity of various core constructors and operations (such ascore.fn
andcore.call
).