From cc05e942423a1f412fd7f719964f4ed3d35a2aba Mon Sep 17 00:00:00 2001
From: hugrbot
Date: Mon, 16 Dec 2024 15:11:24 +0000
Subject: [PATCH] chore: release (#1786)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## 🤖 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
```
Changelog
## `hugr`
##
[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`
(#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`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` where possible (#1743)
- Faster singleton SiblingSubgraph construction (#1654)
### Refactor
- avoid hugr clone in simple replace (#1724)
- [trivial] replace.rs: use HugrView::first_child (#1737)
## `hugr-core`
##
[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`
(#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`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` where possible (#1743)
### Refactor
- avoid hugr clone in simple replace (#1724)
- [trivial] replace.rs: use HugrView::first_child (#1737)
## `hugr-model`
##
[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)
## `hugr-llvm`
## [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.
## `hugr-passes`
##
[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` where possible (#1743)
## `hugr-cli`
##
[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)
---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
---------
Co-authored-by: Agustín Borgna
Co-authored-by: Agustín Borgna <121866228+aborgna-q@users.noreply.github.com>
---
hugr-cli/CHANGELOG.md | 23 +++++++++
hugr-cli/Cargo.toml | 4 +-
hugr-core/CHANGELOG.md | 97 +++++++++++++++++++++++++++++++++++
hugr-core/Cargo.toml | 4 +-
hugr-llvm/Cargo.toml | 4 +-
hugr-model/CHANGELOG.md | 17 +++++++
hugr-model/Cargo.toml | 2 +-
hugr-passes/CHANGELOG.md | 37 ++++++++++++++
hugr-passes/Cargo.toml | 4 +-
hugr/CHANGELOG.md | 107 +++++++++++++++++++++++++++++++++++++++
hugr/Cargo.toml | 10 ++--
11 files changed, 295 insertions(+), 14 deletions(-)
diff --git a/hugr-cli/CHANGELOG.md b/hugr-cli/CHANGELOG.md
index 45b2da10f..f00d008db 100644
--- a/hugr-cli/CHANGELOG.md
+++ b/hugr-cli/CHANGELOG.md
@@ -1,6 +1,29 @@
# Changelog
+## [0.14.0](https://github.com/CQCL/hugr/compare/hugr-cli-v0.13.3...hugr-cli-v0.14.0) - 2024-12-16
+
+### ⚠ BREAKING CHANGES
+
+- Updated to `hugr 0.14`, which includes breaking changes to the serialization format.
+
+### 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)
+
## [0.13.2](https://github.com/CQCL/hugr/compare/hugr-cli-v0.13.1...hugr-cli-v0.13.2) - 2024-10-22
### New Features
diff --git a/hugr-cli/Cargo.toml b/hugr-cli/Cargo.toml
index 362d3efa6..0e7ec9e61 100644
--- a/hugr-cli/Cargo.toml
+++ b/hugr-cli/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hugr-cli"
-version = "0.13.3"
+version = "0.14.0"
edition = { workspace = true }
rust-version = { workspace = true }
license = { workspace = true }
@@ -19,7 +19,7 @@ bench = false
clap = { workspace = true, features = ["derive"] }
clap-verbosity-flag.workspace = true
derive_more = { workspace = true, features = ["display", "error", "from"] }
-hugr = { path = "../hugr", version = "0.13.3" }
+hugr = { path = "../hugr", version = "0.14.0" }
serde_json.workspace = true
serde.workspace = true
thiserror.workspace = true
diff --git a/hugr-core/CHANGELOG.md b/hugr-core/CHANGELOG.md
index 5ed0302d6..6ce9cc73f 100644
--- a/hugr-core/CHANGELOG.md
+++ b/hugr-core/CHANGELOG.md
@@ -1,5 +1,102 @@
# Changelog
+## [0.14.0](https://github.com/CQCL/hugr/compare/hugr-core-v0.13.3...hugr-core-v0.14.0) - 2024-12-16
+
+This release includes a long list of breaking changes that simplify the API, specially around
+extensions and extension registry management.
+
+Extension definitions are now tracked by each operation and type inside the hugr, so there is no
+need to pass around extension registries any more.
+
+### ⚠ BREAKING CHANGES
+
+#### Core
+
+- The `LoadFunction::signature` field has been removed. Replaced with `DataflowOpTrait::signature()`.
+- Types which implement `AsRef` - both library ones such as `Rc` and custom ones - no longer get a blanket impl of `HugrView`. Workaround by manually calling `as_ref()` and using the `&Hugr` yourself.
+- Removed `Array` type variant from the serialization format.
+- `Optrait` now requires `Sized` and `Clone` and is no longer object safe.
+- `DataflowOptrait` now requires `Sized` and has an additional required method `substitute`.
+- `::extension::resolve` operations now use `WeakExtensionRegistry`es.
+- `ExtensionRegistry` and `Package` now wrap Extensions in `Arc`s.
+- Renamed `OpDef::extension` and `TypeDef::extension` to `extension_id`. extension now returns weak references to the Extension defining them.
+- `Extension::with_reqs` moved to `set_reqs`, which takes `&mut self` instead of `self`.
+- `Extension::add_type` and `Extension::add_op` now take an extra parameter. See docs for example usage.
+- `ExtensionRegistry::register_updated` and `register_updated_ref` are no longer fallible.
+- Removed `CustomType::new_simple`. Custom types can no longer be const-constructed.
+- Added `init_signature` and `extension_ref` methods to the `MakeOpDef` trait.
+- Redefined the const types in the prelude to generator functions.
+- Removed `resolve_opaque_op` and `resolve_extension_ops`. Use `Hugr::resolve_extension_defs` instead.
+- Removed `ExtensionRegistry::try_new`. Use `new` instead, and call `ExtensionRegistry::validate` to validate.
+- `ExtensionSet::insert` and `singleton` take extension ids by value instead of cloning internally.
+- Removed `update_validate`. The hugr extensions should be resolved at load time, so we can use validate instead.
+- The builder `finish_hugr` function family no longer takes a registry as parameter, and the `_prelude` variants have been removed.
+- `extension_reqs` field in `FunctionType` and `Extension` renamed to `runtime_reqs`.
+- Removed the extension registry argument from validate calls.
+- Removed the extension registry argument from operation instantiation methods.
+- Removed most extension-specific test registries. Use `EMPTY_REG`, `PRELUDE_REGISTRY`, or `STD_REG` instead.
+
+#### Extensions
+
+- Array scan and repeat ops get an additional type parameter specifying the extension requirements of their input functions. Furthermore, repeat is no longer part of `ArrayOpDef` but is instead specified via a new `ArrayScan` struct.
+- `collections` extension renamed to `collections.list`
+- Array type and operations have been moved out of prelude and into a new `collections.array` extension.
+
+### 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` (#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`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` where possible (#1743)
+
+### Refactor
+
+- avoid hugr clone in simple replace (#1724)
+- [trivial] replace.rs: use HugrView::first_child (#1737)
+
## [0.13.3](https://github.com/CQCL/hugr/compare/hugr-core-v0.13.2...hugr-core-v0.13.3) - 2024-11-06
### Bug Fixes
diff --git a/hugr-core/Cargo.toml b/hugr-core/Cargo.toml
index 84b83677f..b84de3812 100644
--- a/hugr-core/Cargo.toml
+++ b/hugr-core/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hugr-core"
-version = "0.13.3"
+version = "0.14.0"
edition = { workspace = true }
rust-version = { workspace = true }
@@ -53,7 +53,7 @@ paste = { workspace = true }
strum = { workspace = true }
strum_macros = { workspace = true }
semver = { version = "1.0.23", features = ["serde"] }
-hugr-model = { version = "0.14.0", path = "../hugr-model", optional = true }
+hugr-model = { version = "0.15.0", path = "../hugr-model", optional = true }
indexmap.workspace = true
fxhash.workspace = true
bumpalo = { workspace = true, features = ["collections"] }
diff --git a/hugr-llvm/Cargo.toml b/hugr-llvm/Cargo.toml
index fd8035457..636e69d32 100644
--- a/hugr-llvm/Cargo.toml
+++ b/hugr-llvm/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hugr-llvm"
-version = "0.13.3"
+version = "0.14.0"
description = "A general and extensible crate for lowering HUGRs into LLVM IR"
edition.workspace = true
@@ -32,7 +32,7 @@ llvm14-0 = ["inkwell/llvm14-0"]
[dependencies]
inkwell = { version = "0.5.0", default-features = false }
-hugr-core = { path = "../hugr-core", version = "0.13.3" }
+hugr-core = { path = "../hugr-core", version = "0.14.0" }
anyhow = "1.0.83"
itertools.workspace = true
delegate.workspace = true
diff --git a/hugr-model/CHANGELOG.md b/hugr-model/CHANGELOG.md
index 91140d84e..9e6a07b81 100644
--- a/hugr-model/CHANGELOG.md
+++ b/hugr-model/CHANGELOG.md
@@ -1,5 +1,22 @@
# Changelog
+## [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)
+
## [0.14.0](https://github.com/CQCL/hugr/compare/hugr-model-v0.13.2...hugr-model-v0.14.0) - 2024-11-06
### New Features
diff --git a/hugr-model/Cargo.toml b/hugr-model/Cargo.toml
index d529e7941..9c5b50347 100644
--- a/hugr-model/Cargo.toml
+++ b/hugr-model/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hugr-model"
-version = "0.14.0"
+version = "0.15.0"
readme = "README.md"
documentation = "https://docs.rs/hugr-model/"
description = "Data model for Quantinuum's HUGR intermediate representation"
diff --git a/hugr-passes/CHANGELOG.md b/hugr-passes/CHANGELOG.md
index 7fc295ae2..2330446e0 100644
--- a/hugr-passes/CHANGELOG.md
+++ b/hugr-passes/CHANGELOG.md
@@ -1,6 +1,43 @@
# Changelog
+## [0.14.0](https://github.com/CQCL/hugr/compare/hugr-passes-v0.13.3...hugr-passes-v0.14.0) - 2024-12-16
+
+### ⚠ BREAKING CHANGES
+
+- Updated to `hugr 0.14`, which includes breaking changes to the serialization format.
+
+- `ConstantFoldPass` is no longer `UnwindSafe`, `RefUnwindSafe`, nor `Copy`.
+- `fold_leaf_op` and `find_consts` have been removed.
+- `ConstantFoldPass::new` function removed. Instead use `ConstantFoldPass::default`.
+- Variant `ConstFoldError::SimpleReplacementError` was removed.
+
+### 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` where possible (#1743)
+
## [0.13.2](https://github.com/CQCL/hugr/compare/hugr-passes-v0.13.1...hugr-passes-v0.13.2) - 2024-10-22
### New Features
diff --git a/hugr-passes/Cargo.toml b/hugr-passes/Cargo.toml
index a70cb2f32..afedd7658 100644
--- a/hugr-passes/Cargo.toml
+++ b/hugr-passes/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hugr-passes"
-version = "0.13.3"
+version = "0.14.0"
edition = { workspace = true }
rust-version = { workspace = true }
license = { workspace = true }
@@ -16,7 +16,7 @@ categories = ["compilers"]
bench = false
[dependencies]
-hugr-core = { path = "../hugr-core", version = "0.13.3" }
+hugr-core = { path = "../hugr-core", version = "0.14.0" }
portgraph = { workspace = true }
ascent = { version = "0.7.0" }
itertools = { workspace = true }
diff --git a/hugr/CHANGELOG.md b/hugr/CHANGELOG.md
index 69bb4ade4..daf14a989 100644
--- a/hugr/CHANGELOG.md
+++ b/hugr/CHANGELOG.md
@@ -1,5 +1,112 @@
# Changelog
+## [0.14.0](https://github.com/CQCL/hugr/compare/hugr-v0.13.3...hugr-v0.14.0) - 2024-12-16
+
+This release includes a long list of breaking changes that simplify the API, specially around
+extensions and extension registry management.
+
+Extension definitions are now tracked by each operation and type inside the hugr, so there is no
+need to pass around extension registries any more.
+
+### ⚠ BREAKING CHANGES
+
+#### Core
+
+- The `LoadFunction::signature` field has been removed. Replaced with `DataflowOpTrait::signature()`.
+- Types which implement `AsRef` - both library ones such as `Rc` and custom ones - no longer get a blanket impl of `HugrView`. Workaround by manually calling `as_ref()` and using the `&Hugr` yourself.
+- Removed `Array` type variant from the serialization format.
+- `Optrait` now requires `Sized` and `Clone` and is no longer object safe.
+- `DataflowOptrait` now requires `Sized` and has an additional required method `substitute`.
+- `::extension::resolve` operations now use `WeakExtensionRegistry`es.
+- `ExtensionRegistry` and `Package` now wrap Extensions in `Arc`s.
+- Renamed `OpDef::extension` and `TypeDef::extension` to `extension_id`. extension now returns weak references to the Extension defining them.
+- `Extension::with_reqs` moved to `set_reqs`, which takes `&mut self` instead of `self`.
+- `Extension::add_type` and `Extension::add_op` now take an extra parameter. See docs for example usage.
+- `ExtensionRegistry::register_updated` and `register_updated_ref` are no longer fallible.
+- Removed `CustomType::new_simple`. Custom types can no longer be const-constructed.
+- Added `init_signature` and `extension_ref` methods to the `MakeOpDef` trait.
+- Redefined the const types in the prelude to generator functions.
+- Removed `resolve_opaque_op` and `resolve_extension_ops`. Use `Hugr::resolve_extension_defs` instead.
+- Removed `ExtensionRegistry::try_new`. Use `new` instead, and call `ExtensionRegistry::validate` to validate.
+- `ExtensionSet::insert` and `singleton` take extension ids by value instead of cloning internally.
+- Removed `update_validate`. The hugr extensions should be resolved at load time, so we can use validate instead.
+- The builder `finish_hugr` function family no longer takes a registry as parameter, and the `_prelude` variants have been removed.
+- `extension_reqs` field in `FunctionType` and `Extension` renamed to `runtime_reqs`.
+- Removed the extension registry argument from validate calls.
+- Removed the extension registry argument from operation instantiation methods.
+- Removed most extension-specific test registries. Use `EMPTY_REG`, `PRELUDE_REGISTRY`, or `STD_REG` instead.
+
+#### Extensions
+
+- Array scan and repeat ops get an additional type parameter specifying the extension requirements of their input functions. Furthermore, repeat is no longer part of `ArrayOpDef` but is instead specified via a new `ArrayScan` struct.
+- `collections` extension renamed to `collections.list`
+- Array type and operations have been moved out of prelude and into a new `collections.array` extension.
+
+#### Passes
+
+- `ConstantFoldPass` is no longer `UnwindSafe`, `RefUnwindSafe`, nor `Copy`.
+- `fold_leaf_op` and `find_consts` have been removed.
+- `ConstantFoldPass::new` function removed. Instead use `ConstantFoldPass::default`.
+- Variant `ConstFoldError::SimpleReplacementError` was removed.
+
+### 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` (#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`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` where possible (#1743)
+- Faster singleton SiblingSubgraph construction (#1654)
+
+### Refactor
+
+- avoid hugr clone in simple replace (#1724)
+- [trivial] replace.rs: use HugrView::first_child (#1737)
+
## [0.13.3](https://github.com/CQCL/hugr/compare/hugr-v0.13.2...hugr-v0.13.3) - 2024-11-06
### Bug Fixes
diff --git a/hugr/Cargo.toml b/hugr/Cargo.toml
index d4f499ca0..b794360ca 100644
--- a/hugr/Cargo.toml
+++ b/hugr/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hugr"
-version = "0.13.3"
+version = "0.14.0"
edition = { workspace = true }
rust-version = { workspace = true }
@@ -29,10 +29,10 @@ llvm = ["hugr-llvm/llvm14-0"]
llvm-test = ["hugr-llvm/llvm14-0", "hugr-llvm/test-utils"]
[dependencies]
-hugr-model = { path = "../hugr-model", optional = true, version = "0.14.0" }
-hugr-core = { path = "../hugr-core", version = "0.13.3" }
-hugr-passes = { path = "../hugr-passes", version = "0.13.3" }
-hugr-llvm = {path = "../hugr-llvm", version = "0.13.3", optional = true}
+hugr-model = { path = "../hugr-model", optional = true, version = "0.15.0" }
+hugr-core = { path = "../hugr-core", version = "0.14.0" }
+hugr-passes = { path = "../hugr-passes", version = "0.14.0" }
+hugr-llvm = {path = "../hugr-llvm", version = "0.14.0", optional = true}
[dev-dependencies]
rstest = { workspace = true }