Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1733 +/- ##
==========================================
+ Coverage 86.68% 86.72% +0.04%
==========================================
Files 184 186 +2
Lines 33169 34000 +831
Branches 30044 30875 +831
==========================================
+ Hits 28752 29486 +734
- Misses 2765 2845 +80
- Partials 1652 1669 +17
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
This PR contains breaking changes to the public Rust API. cargo-semver-checks summary |
monomorphization pass.monomorphization pass
| } | ||
|
|
||
| fn escape_dollar(str: impl AsRef<str>) -> String { | ||
| str.as_ref().replace("$", "\\$") |
There was a problem hiding this comment.
seems a bit risky to be sanitising strings ourselves, should we use a library?
There was a problem hiding this comment.
There are no rules on what names functions are allowed, so sanitising is too strong a word for this.
The worst that can happen is that we end up with non-unique names, which is allowed by HUGR and the docs of monomorphize.
Surely there is room for a better, well motivated, and principled design. I think that this is the best we can do for now.
If you have specific suggestions I'm happy to change.
| Cow::Borrowed(&self.signature) | ||
| } | ||
|
|
||
| fn substitute(&self, subst: &crate::types::Substitution) -> Self { |
There was a problem hiding this comment.
I'm surprised this isn't covered, it should be right?
| fn static_input(&self) -> Option<EdgeKind> { | ||
| Some(EdgeKind::Function(self.func_sig.clone())) | ||
| } | ||
|
|
There was a problem hiding this comment.
yeah there's a lot of substitute code not covered here :/
There was a problem hiding this comment.
Yes, that is addressed in the commit message. We will add proptests in a future PR
Co-authored-by: Seyon Sivarajah <seyon.sivarajah@quantinuum.com>
Co-authored-by: Seyon Sivarajah <seyon.sivarajah@quantinuum.com>
| fn static_input(&self) -> Option<EdgeKind> { | ||
| Some(EdgeKind::Function(self.func_sig.clone())) | ||
| } | ||
|
|
There was a problem hiding this comment.
Yes, that is addressed in the commit message. We will add proptests in a future PR
| } | ||
|
|
||
| fn escape_dollar(str: impl AsRef<str>) -> String { | ||
| str.as_ref().replace("$", "\\$") |
There was a problem hiding this comment.
There are no rules on what names functions are allowed, so sanitising is too strong a word for this.
The worst that can happen is that we end up with non-unique names, which is allowed by HUGR and the docs of monomorphize.
Surely there is room for a better, well motivated, and principled design. I think that this is the best we can do for now.
If you have specific suggestions I'm happy to change.
Co-authored-by: Seyon Sivarajah <seyon.sivarajah@quantinuum.com>
## 🤖 New release
* `hugr`: 0.13.3 -> 0.14.0 (✓ API compatible changes)
* `hugr-core`: 0.13.3 -> 0.14.0 (⚠️ API breaking changes)
* `hugr-model`: 0.14.0 -> 0.15.0 (⚠️ API breaking changes)
* `hugr-llvm`: 0.13.3 -> 0.14.0
* `hugr-passes`: 0.13.3 -> 0.14.0 (⚠️ API breaking changes)
* `hugr-cli`: 0.13.3 -> 0.14.0 (⚠️ API breaking changes)
### ⚠️ `hugr-core` breaking changes
```
--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type CFG is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:145
type CFG is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:145
type CFG is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:145
type CFG is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:145
type TypeArg is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/type_param.rs:145
type TypeArg is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/type_param.rs:145
type TypeArg is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/type_param.rs:145
type TypeArg is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/type_param.rs:145
type TailLoop is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:16
type TailLoop is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:16
type TailLoop is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:16
type TailLoop is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:16
type TypeRowBase is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/type_row.rs:20
type TypeRowBase is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/type_row.rs:20
type DFG is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:487
type DFG is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:487
type DFG is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:487
type DFG is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:487
type CustomType is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/custom.rs:18
type CustomType is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/custom.rs:18
type CustomType is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/custom.rs:18
type CustomType is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/custom.rs:18
type EdgeKind is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types.rs:52
type EdgeKind is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types.rs:52
type LoadConstant is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:328
type LoadConstant is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:328
type LoadConstant is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:328
type LoadConstant is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:328
type Case is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:324
type Case is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:324
type Case is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:324
type Case is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:324
type SignatureError is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension.rs:381
type SignatureError is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension.rs:381
type TypeArgError is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/type_param.rs:445
type TypeArgError is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/type_param.rs:445
type MakeTuple is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:600
type MakeTuple is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:600
type SumType is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types.rs:173
type SumType is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types.rs:173
type FuncDecl is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:93
type FuncDecl is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:93
type FuncDecl is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:93
type FuncDecl is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:93
type Call is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:190
type Call is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:190
type Call is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:190
type Call is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:190
type ExitBlock is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:184
type ExitBlock is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:184
type ExitBlock is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:184
type ExitBlock is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:184
type ConstExternalSymbol is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:465
type ConstExternalSymbol is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:465
type OpaqueOp is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/custom.rs:191
type OpaqueOp is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/custom.rs:191
type OpaqueOp is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/custom.rs:191
type OpaqueOp is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/custom.rs:191
type Input is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:70
type Input is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:70
type Input is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:70
type Input is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:70
type Output is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:88
type Output is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:88
type Output is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:88
type Output is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:88
type CallIndirect is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:296
type CallIndirect is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:296
type CallIndirect is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:296
type CallIndirect is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:296
type CustomCheckFailure is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/constant.rs:321
type CustomCheckFailure is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/constant.rs:321
type CustomCheckFailure is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/constant.rs:321
type CustomCheckFailure is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/constant.rs:321
type Lift is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:883
type Lift is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:883
type Tag is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/sum.rs:13
type Tag is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/sum.rs:13
type Tag is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/sum.rs:13
type Tag is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/sum.rs:13
type PtrOp is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/std_extensions/ptr.rs:135
type PtrOp is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/std_extensions/ptr.rs:135
type FuncDefn is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:55
type FuncDefn is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:55
type FuncDefn is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:55
type FuncDefn is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:55
type DataflowBlock is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:173
type DataflowBlock is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:173
type DataflowBlock is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:173
type DataflowBlock is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:173
type CFGBuilder is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/builder/cfg.rs:113
type CFGBuilder is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/builder/cfg.rs:113
type TypeBase is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types.rs:335
type TypeBase is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types.rs:335
type IdentityInsertionError is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/rewrite/insert_identity.rs:38
type IdentityInsertionError is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/rewrite/insert_identity.rs:38
type ExtensionRegistryError is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension.rs:755
type ExtensionRegistryError is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension.rs:755
type TopoConvexChecker is no longer Sync, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/views/sibling_subgraph.rs:503
type TopoConvexChecker is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/views/sibling_subgraph.rs:503
type AliasDefn is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:125
type AliasDefn is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:125
type AliasDefn is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:125
type AliasDefn is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/module.rs:125
type OpLoadError is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/simple_op.rs:23
type OpLoadError is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/simple_op.rs:23
type BuilderWiringError is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/builder.rs:207
type BuilderWiringError is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/builder.rs:207
type Conditional is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:93
type Conditional is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:93
type Conditional is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:93
type Conditional is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/controlflow.rs:93
type ImportError is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/import.rs:37
type ImportError is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/import.rs:37
type LoadFunction is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:386
type LoadFunction is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:386
type LoadFunction is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:386
type LoadFunction is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:386
type TypeDef is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/type_def.rs:57
type TypeDef is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/type_def.rs:57
type OpaqueOpError is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/custom.rs:285
type OpaqueOpError is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/custom.rs:285
type UnpackTuple is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:662
type UnpackTuple is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:662
type Noop is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:782
type Noop is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/prelude.rs:782
type CustomSerialized is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/constant/custom.rs:185
type CustomSerialized is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/constant/custom.rs:185
type TypeEnum is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types.rs:267
type TypeEnum is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types.rs:267
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field LoadFunction.instantiation in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:392
field LoadFunction.instantiation in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:392
--- 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.37.0/src/lints/enum_marked_non_exhaustive.ron
Failed in:
enum ExtensionBuildError in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension.rs:779
enum ExtensionRegistryError in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension.rs:755
--- 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.37.0/src/lints/enum_missing.ron
Failed in:
enum hugr_core::extension::prelude::array::ArrayOpDef, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:41
enum hugr_core::extension::prelude::ArrayOpDef, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:41
enum hugr_core::std_extensions::collections::ListOp, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:124
--- failure enum_struct_variant_field_added: pub enum struct variant field added ---
Description:
An enum's exhaustive struct variant has a new field, which has to be included when constructing or matching on this variant.
ref: https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/enum_struct_variant_field_added.ron
Failed in:
field source_types of variant EdgeValidationError::CFGEdgeSignatureMismatch in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/validate.rs:223
field target_types of variant EdgeValidationError::CFGEdgeSignatureMismatch in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/validate.rs:224
field op of variant ValidationError::SignatureError in /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/validate.rs:753
field op of variant ValidationError::SignatureError in /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/validate.rs:753
--- 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.37.0/src/lints/enum_tuple_variant_changed_kind.ron
Failed in:
variant OpaqueOpError::OpNotFoundInExtension in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/custom.rs:290
--- 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.37.0/src/lints/enum_variant_added.ron
Failed in:
variant ImportError:Extension in /tmp/.tmpglz2Rp/hugr/hugr-core/src/import.rs:53
variant SignatureError:MissingTypeExtension in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension.rs:396
--- 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.37.0/src/lints/enum_variant_missing.ron
Failed in:
variant SignatureError::ExtensionNotFound, previously in file /tmp/.tmph2sFme/hugr-core/src/extension.rs:190
variant PackageValidationError::Extension, previously in file /tmp/.tmph2sFme/hugr-core/src/package.rs:305
variant PackageValidationError::Validate, previously in file /tmp/.tmph2sFme/hugr-core/src/package.rs:315
variant PackageValidationError::ExtReg, previously in file /tmp/.tmph2sFme/hugr-core/src/package.rs:323
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function 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.37.0/src/lints/function_missing.ron
Failed in:
function hugr_core::extension::prelude::array::new_array_op, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:310
function hugr_core::extension::prelude::new_array_op, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:310
function hugr_core::std_extensions::arithmetic::int_types::extension, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/arithmetic/int_types.rs:189
function hugr_core::std_extensions::ptr::ptr_custom_type, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/ptr.rs:112
function hugr_core::std_extensions::collections::list_type_def, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:288
function hugr_core::extension::prelude::array::array_type, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:291
function hugr_core::extension::prelude::array_type, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:291
function hugr_core::std_extensions::collections::list_type, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:301
function hugr_core::ops::custom::resolve_opaque_op, previously in file /tmp/.tmph2sFme/hugr-core/src/ops/custom.rs:275
function hugr_core::ops::custom::resolve_extension_ops, previously in file /tmp/.tmph2sFme/hugr-core/src/ops/custom.rs:245
function hugr_core::std_extensions::collections::list_custom_type, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:294
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/function_parameter_count_changed.ron
Failed in:
hugr_core::std_extensions::arithmetic::int_types::int_custom_type now takes 2 parameters instead of 1, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/std_extensions/arithmetic/int_types.rs:29
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn 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.37.0/src/lints/inherent_method_missing.ron
Failed in:
CustomType::new_simple, previously in file /tmp/.tmph2sFme/hugr-core/src/types/custom.rs:48
CustomType::new_simple, previously in file /tmp/.tmph2sFme/hugr-core/src/types/custom.rs:48
Package::update_validate, previously in file /tmp/.tmph2sFme/hugr-core/src/package.rs:96
Extension::with_reqs, previously in file /tmp/.tmph2sFme/hugr-core/src/extension.rs:363
Extension::with_reqs, previously in file /tmp/.tmph2sFme/hugr-core/src/extension.rs:363
ExtensionRegistry::try_new, previously in file /tmp/.tmph2sFme/hugr-core/src/extension.rs:55
Hugr::update_validate, previously in file /tmp/.tmph2sFme/hugr-core/src/hugr.rs:86
Hugr::update_validate, previously in file /tmp/.tmph2sFme/hugr-core/src/hugr.rs:86
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/method_parameter_count_changed.ron
Failed in:
hugr_core::extension::OpDef::validate_args now takes 3 parameters instead of 4, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/op_def.rs:333
hugr_core::extension::OpDef::compute_signature now takes 2 parameters instead of 3, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/op_def.rs:362
hugr_core::types::custom::CustomType::new now takes 5 parameters instead of 4, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/custom.rs:59
hugr_core::types::CustomType::new now takes 5 parameters instead of 4, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/types/custom.rs:59
hugr_core::package::Package::new now takes 1 parameters instead of 2, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/package.rs:38
hugr_core::package::Package::from_hugrs now takes 1 parameters instead of 2, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/package.rs:67
hugr_core::package::Package::validate now takes 1 parameters instead of 2, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/package.rs:105
hugr_core::package::Package::from_json_reader now takes 2 parameters instead of 1, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/package.rs:128
hugr_core::package::Package::from_json now takes 2 parameters instead of 1, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/package.rs:185
hugr_core::package::Package::from_json_file now takes 2 parameters instead of 1, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/package.rs:195
hugr_core::ops::dataflow::Call::try_new now takes 2 parameters instead of 3, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:238
hugr_core::ops::Call::try_new now takes 2 parameters instead of 3, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:238
hugr_core::extension::Extension::add_op now takes 5 parameters instead of 4, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/op_def.rs:505
hugr_core::extension::Extension::add_type now takes 6 parameters instead of 5, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/type_def.rs:208
hugr_core::extension::Extension::instantiate_extension_op now takes 3 parameters instead of 4, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension.rs:727
hugr_core::Extension::add_op now takes 5 parameters instead of 4, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/op_def.rs:505
hugr_core::Extension::add_type now takes 6 parameters instead of 5, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/type_def.rs:208
hugr_core::Extension::instantiate_extension_op now takes 3 parameters instead of 4, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension.rs:727
hugr_core::builder::DFGWrapper::finish_hugr_with_outputs now takes [3, 2] parameters instead of 4, in [ /tmp/.tmpglz2Rp/hugr/hugr-core/src/builder/cfg.rs:449 , /tmp/.tmpglz2Rp/hugr/hugr-core/src/builder/build_traits.rs:848 ]
hugr_core::extension::SignatureFunc::compute_signature now takes 3 parameters instead of 4, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/op_def.rs:223
hugr_core::ops::custom::ExtensionOp::new now takes 2 parameters instead of 3, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/custom.rs:44
hugr_core::ops::ExtensionOp::new now takes 2 parameters instead of 3, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/custom.rs:44
hugr_core::ops::dataflow::LoadFunction::try_new now takes 2 parameters instead of 3, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:436
hugr_core::ops::LoadFunction::try_new now takes 2 parameters instead of 3, in /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:436
hugr_core::hugr::Hugr::validate now takes [1, 1] parameters instead of 2, in [ /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/validate.rs:41 , /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/views.rs:452 ]
hugr_core::hugr::Hugr::validate_no_extensions now takes [1, 1] parameters instead of 2, in [ /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/validate.rs:51 , /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/views.rs:461 ]
hugr_core::Hugr::validate now takes [1, 1] parameters instead of 2, in [ /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/validate.rs:41 , /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/views.rs:452 ]
hugr_core::Hugr::validate_no_extensions now takes [1, 1] parameters instead of 2, in [ /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/validate.rs:51 , /tmp/.tmpglz2Rp/hugr/hugr-core/src/hugr/views.rs:461 ]
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/module_missing.ron
Failed in:
mod hugr_core::extension::prelude::array, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:1
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing, renamed, or changed from const to static.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/pub_module_level_const_missing.ron
Failed in:
FLOAT64_CUSTOM_TYPE in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/arithmetic/float_types.rs:22
ARRAY_TYPE_NAME in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:285
ARRAY_TYPE_NAME in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:285
EMPTY_REG in file /tmp/.tmph2sFme/hugr-core/src/extension.rs:169
ERROR_TYPE in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude.rs:194
FLOAT64_TYPE in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/arithmetic/float_types.rs:26
STRING_CUSTOM_TYPE in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude.rs:146
ERROR_CUSTOM_TYPE in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude.rs:191
QB_T in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude.rs:125
EXTENSION_ID in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:37
NEW_ARRAY_OP_ID in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:307
NEW_ARRAY_OP_ID in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:307
USIZE_T in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude.rs:127
VERSION in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:39
LIST_TYPENAME in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:35
STRING_TYPE in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude.rs:150
BOOL_T in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude.rs:129
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct 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.37.0/src/lints/struct_missing.ron
Failed in:
struct hugr_core::std_extensions::ptr::PTR_REG, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/ptr.rs:101
struct hugr_core::std_extensions::arithmetic::conversions::CONVERT_OPS_REGISTRY, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/arithmetic/conversions.rs:156
struct hugr_core::std_extensions::collections::ListOpInst, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:309
struct hugr_core::extension::prelude::array::ArrayOpDefIter, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:38
struct hugr_core::std_extensions::collections::EXTENSION, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:250
struct hugr_core::std_extensions::collections::ListOpIter, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:121
struct hugr_core::std_extensions::collections::ListValue, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:43
struct hugr_core::std_extensions::arithmetic::float_ops::FLOAT_OPS_REGISTRY, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/arithmetic/float_ops.rs:105
struct hugr_core::std_extensions::arithmetic::int_ops::INT_OPS_REGISTRY, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/arithmetic/int_ops.rs:248
struct hugr_core::std_extensions::logic::LOGIC_REG, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/logic.rs:123
struct hugr_core::std_extensions::collections::COLLECTIONS_REGISTRY, previously in file /tmp/.tmph2sFme/hugr-core/src/std_extensions/collections.rs:250
struct hugr_core::extension::prelude::array::ArrayOp, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:212
struct hugr_core::extension::prelude::ArrayOp, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/prelude/array.rs:212
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field 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.37.0/src/lints/struct_pub_field_missing.ron
Failed in:
field extension_reqs of struct Extension, previously in file /tmp/.tmph2sFme/hugr-core/src/extension.rs:335
field extension_reqs of struct Extension, previously in file /tmp/.tmph2sFme/hugr-core/src/extension.rs:335
field signature of struct LoadFunction, previously in file /tmp/.tmph2sFme/hugr-core/src/ops/dataflow.rs:344
field signature of struct LoadFunction, previously in file /tmp/.tmph2sFme/hugr-core/src/ops/dataflow.rs:344
--- failure trait_added_supertrait: non-sealed trait added new supertraits ---
Description:
A non-sealed trait added one or more supertraits, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#generic-bounds-tighten
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/trait_added_supertrait.ron
Failed in:
trait hugr_core::ops::OpTrait gained Sized in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops.rs:372
trait hugr_core::ops::OpTrait gained Clone in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops.rs:372
trait hugr_core::ops::dataflow::DataflowOpTrait gained Sized in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:16
trait hugr_core::ops::DataflowOpTrait gained Sized in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:16
--- failure trait_method_added: pub trait method added ---
Description:
A non-sealed public trait added a new method without a default implementation, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/trait_method_added.ron
Failed in:
trait method hugr_core::ops::dataflow::DataflowOpTrait::substitute in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:57
trait method hugr_core::ops::DataflowOpTrait::substitute in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops/dataflow.rs:57
trait method hugr_core::extension::simple_op::MakeOpDef::extension_ref in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/simple_op.rs:57
trait method hugr_core::extension::simple_op::MakeOpDef::init_signature in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/simple_op.rs:64
trait method hugr_core::extension::simple_op::MakeRegisteredOp::extension_ref in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/extension/simple_op.rs:269
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/trait_method_missing.ron
Failed in:
method finish_prelude_hugr of trait HugrBuilder, previously in file /tmp/.tmph2sFme/hugr-core/src/builder/build_traits.rs:137
method finish_prelude_hugr_with_outputs of trait DataflowHugr, previously in file /tmp/.tmph2sFme/hugr-core/src/builder/build_traits.rs:842
method registry of trait MakeRegisteredOp, previously in file /tmp/.tmph2sFme/hugr-core/src/extension/simple_op.rs:245
--- failure trait_no_longer_object_safe: trait no longer object safe ---
Description:
Trait is no longer object safe, which breaks `dyn Trait` usage.
ref: https://doc.rust-lang.org/stable/reference/items/traits.html#object-safety
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/trait_no_longer_object_safe.ron
Failed in:
trait OpTrait in file /tmp/.tmpglz2Rp/hugr/hugr-core/src/ops.rs:372
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type HugrView::Nodes, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:44
associated type HugrView::NodePorts, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:49
associated type HugrView::Children, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:54
associated type HugrView::Neighbours, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:59
associated type HugrView::PortLinks, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:64
associated type HugrView::NodeConnections, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:69
associated type HugrView::Nodes, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:44
associated type HugrView::NodePorts, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:49
associated type HugrView::Children, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:54
associated type HugrView::Neighbours, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:59
associated type HugrView::PortLinks, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:64
associated type HugrView::NodeConnections, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:69
associated type HugrView::Nodes, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:44
associated type HugrView::NodePorts, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:49
associated type HugrView::Children, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:54
associated type HugrView::Neighbours, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:59
associated type HugrView::PortLinks, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:64
associated type HugrView::NodeConnections, previously at /tmp/.tmph2sFme/hugr-core/src/hugr/views.rs:69
```
### ⚠️ `hugr-model` breaking changes
```
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field OperationDecl.constraints in /tmp/.tmpglz2Rp/hugr/hugr-model/src/v0/mod.rs:438
field FuncDecl.constraints in /tmp/.tmpglz2Rp/hugr/hugr-model/src/v0/mod.rs:401
field ConstructorDecl.constraints in /tmp/.tmpglz2Rp/hugr/hugr-model/src/v0/mod.rs:425
--- 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.37.0/src/lints/enum_missing.ron
Failed in:
enum hugr_model::v0::Param, previously in file /tmp/.tmph2sFme/hugr-model/src/v0/mod.rs:672
--- failure enum_struct_variant_field_added: pub enum struct variant field added ---
Description:
An enum's exhaustive struct variant has a new field, which has to be included when constructing or matching on this variant.
ref: https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/enum_struct_variant_field_added.ron
Failed in:
field parts of variant Term::List in /tmp/.tmpglz2Rp/hugr/hugr-model/src/v0/mod.rs:575
field parts of variant Term::ExtSet in /tmp/.tmpglz2Rp/hugr/hugr-model/src/v0/mod.rs:613
--- failure enum_struct_variant_field_missing: pub enum struct variant's field removed or renamed ---
Description:
A publicly-visible enum has a struct variant whose field 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.37.0/src/lints/enum_struct_variant_field_missing.ron
Failed in:
field items of variant Term::List, previously in file /tmp/.tmph2sFme/hugr-model/src/v0/mod.rs:574
field tail of variant Term::List, previously in file /tmp/.tmph2sFme/hugr-model/src/v0/mod.rs:578
field extensions of variant Term::ExtSet, previously in file /tmp/.tmph2sFme/hugr-model/src/v0/mod.rs:617
field rest of variant Term::ExtSet, previously in file /tmp/.tmph2sFme/hugr-model/src/v0/mod.rs:619
--- 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.37.0/src/lints/enum_variant_added.ron
Failed in:
variant Term:NonLinearConstraint in /tmp/.tmpglz2Rp/hugr/hugr-model/src/v0/mod.rs:661
```
### ⚠️ `hugr-passes` breaking changes
```
--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type ConstantFoldPass is no longer UnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-passes/src/const_fold.rs:31
type ConstantFoldPass is no longer RefUnwindSafe, in /tmp/.tmpglz2Rp/hugr/hugr-passes/src/const_fold.rs:31
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type ConstantFoldPass no longer derives Copy, in /tmp/.tmpglz2Rp/hugr/hugr-passes/src/const_fold.rs:31
--- 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.37.0/src/lints/enum_marked_non_exhaustive.ron
Failed in:
enum ConstFoldError in /tmp/.tmpglz2Rp/hugr/hugr-passes/src/const_fold.rs:40
--- 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.37.0/src/lints/enum_variant_missing.ron
Failed in:
variant ConstFoldError::SimpleReplacementError, previously in file /tmp/.tmph2sFme/hugr-passes/src/const_fold.rs:30
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function 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.37.0/src/lints/function_missing.ron
Failed in:
function hugr_passes::const_fold::find_consts, previously in file /tmp/.tmph2sFme/hugr-passes/src/const_fold.rs:130
function hugr_passes::const_fold::fold_leaf_op, previously in file /tmp/.tmph2sFme/hugr-passes/src/const_fold.rs:92
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/function_parameter_count_changed.ron
Failed in:
hugr_passes::const_fold::constant_fold_pass now takes 1 parameters instead of 2, in /tmp/.tmpglz2Rp/hugr/hugr-passes/src/const_fold.rs:221
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn 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.37.0/src/lints/inherent_method_missing.ron
Failed in:
ConstantFoldPass::new, previously in file /tmp/.tmph2sFme/hugr-passes/src/const_fold.rs:43
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/method_parameter_count_changed.ron
Failed in:
hugr_passes::const_fold::ConstantFoldPass::run now takes 2 parameters instead of 3, in /tmp/.tmpglz2Rp/hugr/hugr-passes/src/const_fold.rs:140
hugr_passes::validation::ValidationLevel::run_validated_pass now takes 3 parameters instead of 4, in /tmp/.tmpglz2Rp/hugr/hugr-passes/src/validation.rs:58
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type CfgNodeMap::Iterator, previously at /tmp/.tmph2sFme/hugr-passes/src/nest_cfgs.rs:72
```
### ⚠️ `hugr-cli` breaking changes
```
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn 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.37.0/src/lints/inherent_method_missing.ron
Failed in:
PackageOrHugr::update_validate, previously in file /tmp/.tmph2sFme/hugr-cli/src/lib.rs:101
HugrArgs::get_package, previously in file /tmp/.tmph2sFme/hugr-cli/src/lib.rs:139
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/method_parameter_count_changed.ron
Failed in:
hugr_cli::HugrArgs::get_package_or_hugr now takes 2 parameters instead of 1, in /tmp/.tmpglz2Rp/hugr/hugr-cli/src/lib.rs:119
```
<details><summary><i><b>Changelog</b></i></summary><p>
## `hugr`
<blockquote>
##
[0.14.0](https://github.com/CQCL/hugr/compare/hugr-v0.13.3...hugr-v0.14.0)
- 2024-12-16
### Bug Fixes
- hierarchical simple replacement using insert_hugr (#1718)
- hugr-py not adding extension-reqs on custom ops (#1759)
- [**breaking**] Replace `LoadFunction::signature` with
`LoadFunction::instantiation` (#1756)
- Resolve types in `Value`s and custom consts (#1779)
- allow disconnected outputs in SiblingSubgraph::from_node (#1769)
### Documentation
- Fix comment for scan op (#1751)
### New Features
- Dataflow analysis framework (#1476)
- *(hugr-passes)* [**breaking**] Rewrite constant_fold_pass using
dataflow framework (#1603)
- Export/import of JSON metadata (#1622)
- Add `SiblingSubgraph::from_node` (#1655)
- [**breaking**] Replace GATs with `impl Iterator` returns (RPITIT) on
`HugrView` (#1660)
- Emulate `TypeBound`s on parameters via constraints. (#1624)
- Add array `repeat` and `scan` ops (#1633)
- move unwrap builder to hugr core (#1674)
- Lists and extension sets with splicing (#1657)
- add HugrView::first_child and HugrMut::remove_subtree (#1721)
- Lower collections extension (#1720)
- [**breaking**] impl HugrView for any &(mut) to a HugrView (#1678)
- [**breaking**] Make array repeat and scan ops generic over extension
reqs (#1716)
- Print []+[] as Bool and [] as Unit in user-facing messages (#1745)
- Add `PartialEq` impls for `FuncTypeBase` and `Cow<FuncTypeBase>`
(#1762)
- [**breaking**] Rename `collections` extension to `collections.list`
(#1764)
- add `is_` variant methods to `EdgeKind` (#1768)
- [**breaking**] Move arrays from prelude into new extension (#1770)
- Add `LoadNat` operation to enable loading generic `BoundedNat`s into
runtime values (#1763)
- [**breaking**] Add `monomorphization` pass (#1733)
- Update extension pointers in customConsts (#1780)
- [**breaking**] Use registries of `Weak<Extension>`s when doing
resolution (#1781)
- [**breaking**] Resolve extension references inside the extension
themselves (#1783)
- [**breaking**] Remove ExtensionRegistry args in UnwrapBuilder and
ListOp (#1785)
- export llvm test utilities under llvm-test feature (#1677)
- [**breaking**] Share `Extension`s under `Arc`s (#1647)
- [**breaking**] OpDefs and TypeDefs keep a reference to their extension
(#1719)
- [**breaking**] Have `CustomType`s reference their `Extension`
definition (#1723)
- [**breaking**] Resolve OpaqueOps and CustomType extensions (#1735)
- [**breaking**] `used_extensions` calls for both ops and signatures
(#1739)
- [**breaking**] Hugrs now keep a `ExtensionRegistry` with their
requirements (#1738)
- [**breaking**] rename `extension_reqs` to `runtime_reqs` (#1776)
- [**breaking**] Don't require explicit extension registers for
validation (#1784)
### Performance
- Return `Cow<Signature>` where possible (#1743)
- Faster singleton SiblingSubgraph construction (#1654)
### Refactor
- avoid hugr clone in simple replace (#1724)
- [trivial] replace.rs: use HugrView::first_child (#1737)
</blockquote>
## `hugr-core`
<blockquote>
##
[0.14.0](https://github.com/CQCL/hugr/compare/hugr-core-v0.13.3...hugr-core-v0.14.0)
- 2024-12-16
### Bug Fixes
- hierarchical simple replacement using insert_hugr (#1718)
- hugr-py not adding extension-reqs on custom ops (#1759)
- [**breaking**] Replace `LoadFunction::signature` with
`LoadFunction::instantiation` (#1756)
- allow disconnected outputs in SiblingSubgraph::from_node (#1769)
- Resolve types in `Value`s and custom consts (#1779)
### Documentation
- Fix comment for scan op (#1751)
### New Features
- Export/import of JSON metadata (#1622)
- Add `SiblingSubgraph::from_node` (#1655)
- [**breaking**] Replace GATs with `impl Iterator` returns (RPITIT) on
`HugrView` (#1660)
- Emulate `TypeBound`s on parameters via constraints. (#1624)
- Add array `repeat` and `scan` ops (#1633)
- move unwrap builder to hugr core (#1674)
- [**breaking**] Share `Extension`s under `Arc`s (#1647)
- Lists and extension sets with splicing (#1657)
- [**breaking**] OpDefs and TypeDefs keep a reference to their extension
(#1719)
- add HugrView::first_child and HugrMut::remove_subtree (#1721)
- Lower collections extension (#1720)
- [**breaking**] Have `CustomType`s reference their `Extension`
definition (#1723)
- [**breaking**] Resolve OpaqueOps and CustomType extensions (#1735)
- [**breaking**] impl HugrView for any &(mut) to a HugrView (#1678)
- [**breaking**] Make array repeat and scan ops generic over extension
reqs (#1716)
- Print []+[] as Bool and [] as Unit in user-facing messages (#1745)
- [**breaking**] `used_extensions` calls for both ops and signatures
(#1739)
- [**breaking**] Hugrs now keep a `ExtensionRegistry` with their
requirements (#1738)
- Add `PartialEq` impls for `FuncTypeBase` and `Cow<FuncTypeBase>`
(#1762)
- [**breaking**] Rename `collections` extension to `collections.list`
(#1764)
- add `is_` variant methods to `EdgeKind` (#1768)
- [**breaking**] Move arrays from prelude into new extension (#1770)
- Add `LoadNat` operation to enable loading generic `BoundedNat`s into
runtime values (#1763)
- [**breaking**] Add `monomorphization` pass (#1733)
- [**breaking**] rename `extension_reqs` to `runtime_reqs` (#1776)
- Update extension pointers in customConsts (#1780)
- [**breaking**] Use registries of `Weak<Extension>`s when doing
resolution (#1781)
- [**breaking**] Resolve extension references inside the extension
themselves (#1783)
- [**breaking**] Don't require explicit extension registers for
validation (#1784)
- [**breaking**] Remove ExtensionRegistry args in UnwrapBuilder and
ListOp (#1785)
### Performance
- Faster singleton SiblingSubgraph construction (#1654)
- Return `Cow<Signature>` where possible (#1743)
### Refactor
- avoid hugr clone in simple replace (#1724)
- [trivial] replace.rs: use HugrView::first_child (#1737)
</blockquote>
## `hugr-model`
<blockquote>
##
[0.15.0](https://github.com/CQCL/hugr/compare/hugr-model-v0.14.0...hugr-model-v0.15.0)
- 2024-12-16
### Bug Fixes
- Ignare lint warnings in capnproto generated code (#1728)
### New Features
- Export/import of JSON metadata (#1622)
- Emulate `TypeBound`s on parameters via constraints. (#1624)
- Lists and extension sets with splicing (#1657)
- [**breaking**] Have `CustomType`s reference their `Extension`
definition (#1723)
### Performance
- Faster singleton SiblingSubgraph construction (#1654)
</blockquote>
## `hugr-llvm`
<blockquote>
## [0.13.3](https://github.com/CQCL/hugr-llvm/compare/v0.6.0...v0.6.1) -
2024-11-25
No changes - version bump to catch up with other hugr crates in
repository move.
</blockquote>
## `hugr-passes`
<blockquote>
##
[0.14.0](https://github.com/CQCL/hugr/compare/hugr-passes-v0.13.3...hugr-passes-v0.14.0)
- 2024-12-16
### Bug Fixes
- allow disconnected outputs in SiblingSubgraph::from_node (#1769)
### New Features
- [**breaking**] Replace GATs with `impl Iterator` returns (RPITIT) on
`HugrView` (#1660)
- [**breaking**] Share `Extension`s under `Arc`s (#1647)
- [**breaking**] OpDefs and TypeDefs keep a reference to their extension
(#1719)
- [**breaking**] Have `CustomType`s reference their `Extension`
definition (#1723)
- [**breaking**] Resolve OpaqueOps and CustomType extensions (#1735)
- Dataflow analysis framework (#1476)
- [**breaking**] `used_extensions` calls for both ops and signatures
(#1739)
- [**breaking**] Hugrs now keep a `ExtensionRegistry` with their
requirements (#1738)
- *(hugr-passes)* [**breaking**] Rewrite constant_fold_pass using
dataflow framework (#1603)
- [**breaking**] Rename `collections` extension to `collections.list`
(#1764)
- [**breaking**] Add `monomorphization` pass (#1733)
- [**breaking**] rename `extension_reqs` to `runtime_reqs` (#1776)
- [**breaking**] Don't require explicit extension registers for
validation (#1784)
- [**breaking**] Remove ExtensionRegistry args in UnwrapBuilder and
ListOp (#1785)
### Performance
- Faster singleton SiblingSubgraph construction (#1654)
- Return `Cow<Signature>` where possible (#1743)
</blockquote>
## `hugr-cli`
<blockquote>
##
[0.14.0](https://github.com/CQCL/hugr/compare/hugr-cli-v0.13.3...hugr-cli-v0.14.0)
- 2024-12-16
### New Features
- [**breaking**] Share `Extension`s under `Arc`s (#1647)
- [**breaking**] OpDefs and TypeDefs keep a reference to their extension
(#1719)
- [**breaking**] Have `CustomType`s reference their `Extension`
definition (#1723)
- [**breaking**] Resolve OpaqueOps and CustomType extensions (#1735)
- [**breaking**] Hugrs now keep a `ExtensionRegistry` with their
requirements (#1738)
- [**breaking**] Move arrays from prelude into new extension (#1770)
### Performance
- Faster singleton SiblingSubgraph construction (#1654)
### Refactor
- *(cli)* [**breaking**] remove deprecations (#1777)
</blockquote>
</p></details>
---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
---------
Co-authored-by: Agustín Borgna <agustin.borgna@quantinuum.com>
Co-authored-by: Agustín Borgna <121866228+aborgna-q@users.noreply.github.com>
Closes #1630
#1772 tracks adding tests for
substitute.BREAKING CHANGE:
OptraitgainsSizedandCloneas supertraits and is no longer object safe.BREAKING CHANGE:
DataflowOptraitgainsSizedas supertrait.BREAKING CHANGE:
DataflowOptraithas an additional required methodsubstitute.