From 544d140074e0652715cf04f41d33296a4b2f1159 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 13 May 2024 10:27:47 +0000
Subject: [PATCH] chore: release v0.4.0-alpha.1 (#964)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## 🤖 New release
* `hugr`: 0.3.1 -> 0.4.0-alpha.1 (⚠️ API breaking changes)
### ⚠️ `hugr` breaking changes
```
--- failure enum_marked_non_exhaustive: enum marked #[non_exhaustive] ---
Description:
A public enum has been marked #[non_exhaustive]. Pattern-matching on it outside of its crate must now include a wildcard pattern like `_`, or it will fail to compile.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#attr-adding-non-exhaustive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.31.0/src/lints/enum_marked_non_exhaustive.ron
Failed in:
enum RegionBlocksError in /tmp/.tmpleGpag/hugr/hugr/src/algorithm/nest_cfgs.rs:282
enum EdgeValidationError in /tmp/.tmpleGpag/hugr/hugr/src/ops/validate.rs:213
enum ExtensionDeclarationError in /tmp/.tmpleGpag/hugr/hugr/src/extension/declarative.rs:179
enum InterGraphEdgeError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/validate.rs:748
enum ValidationError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/validate.rs:632
enum ValidationError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/validate.rs:632
enum HUGRSerializationError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/serialize.rs:107
enum InlineDFGError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/inline_dfg.rs:15
enum ExtensionError in /tmp/.tmpleGpag/hugr/hugr/src/extension/validate.rs:163
enum IntOpDef in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/arithmetic/int_ops.rs:51
enum ChildrenValidationError in /tmp/.tmpleGpag/hugr/hugr/src/ops/validate.rs:163
enum SumTypeError in /tmp/.tmpleGpag/hugr/hugr/src/types/check.rs:11
enum ReplaceError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/replace.rs:388
enum ConvertOpDef in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/arithmetic/conversions.rs:30
enum InvalidSubgraph in /tmp/.tmpleGpag/hugr/hugr/src/hugr/views/sibling_subgraph.rs:647
enum TypeArgError in /tmp/.tmpleGpag/hugr/hugr/src/types/type_param.rs:376
enum SumType in /tmp/.tmpleGpag/hugr/hugr/src/types.rs:124
enum ListOp in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/collections.rs:209
enum SimpleReplacementError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/simple_replace.rs:185
enum SimpleReplacementError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/simple_replace.rs:185
enum SimpleReplacementError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/simple_replace.rs:185
enum CustomCheckFailure in /tmp/.tmpleGpag/hugr/hugr/src/ops/constant.rs:227
enum CustomCheckFailure in /tmp/.tmpleGpag/hugr/hugr/src/ops/constant.rs:227
enum IdentityInsertionError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/insert_identity.rs:36
enum RemoveError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/consts.rs:18
enum OutlineCfgError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/outline_cfg.rs:223
enum NaryLogic in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/logic.rs:56
enum OpLoadError in /tmp/.tmpleGpag/hugr/hugr/src/extension/simple_op.rs:24
enum ConstTypeError in /tmp/.tmpleGpag/hugr/hugr/src/ops/constant.rs:244
enum ConstTypeError in /tmp/.tmpleGpag/hugr/hugr/src/ops/constant.rs:244
enum InvalidReplacement in /tmp/.tmpleGpag/hugr/hugr/src/hugr/views/sibling_subgraph.rs:629
enum InvalidSubgraphBoundary in /tmp/.tmpleGpag/hugr/hugr/src/hugr/views/sibling_subgraph.rs:665
enum InferExtensionError in /tmp/.tmpleGpag/hugr/hugr/src/extension/infer.rs:68
enum FloatOps in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/arithmetic/float_ops.rs:25
enum CustomOpError in /tmp/.tmpleGpag/hugr/hugr/src/ops/custom.rs:400
--- 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.31.0/src/lints/enum_missing.ron
Failed in:
enum hugr::ops::constant::Const, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:22
enum hugr::ops::Const, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:22
--- 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.31.0/src/lints/enum_struct_variant_field_added.ron
Failed in:
field dir of variant HUGRSerializationError::MissingPortOffset in /tmp/.tmpleGpag/hugr/hugr/src/hugr/serialize.rs:120
--- 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.31.0/src/lints/enum_variant_added.ron
Failed in:
variant SignatureError:LoadFunctionIncorrectlyAppliesType in /tmp/.tmpleGpag/hugr/hugr/src/extension.rs:182
variant ExtensionBuildError:ValueExists in /tmp/.tmpleGpag/hugr/hugr/src/extension.rs:405
--- 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.31.0/src/lints/inherent_method_missing.ron
Failed in:
ConvertOpDef::with_width, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/conversions.rs:78
IntOpDef::with_width, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/int_ops.rs:314
IntOpDef::with_two_widths, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/int_ops.rs:323
Const::const_type, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:124
Const::sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:138
Const::tuple, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:153
Const::function, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:164
Const::unit, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:173
Const::unit_sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:178
Const::unary_unit_sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:183
Const::true_val, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:188
Const::false_val, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:193
Const::from_bool, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:199
Const::extension, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:208
Const::get_custom_value, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:215
Const::const_type, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:124
Const::sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:138
Const::tuple, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:153
Const::function, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:164
Const::unit, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:173
Const::unit_sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:178
Const::unary_unit_sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:183
Const::true_val, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:188
Const::false_val, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:193
Const::from_bool, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:199
Const::extension, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:208
Const::get_custom_value, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:215
--- 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.31.0/src/lints/struct_missing.ron
Failed in:
struct hugr::std_extensions::arithmetic::int_types::ConstIntS, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/int_types.rs:83
struct hugr::std_extensions::arithmetic::int_types::ConstIntU, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/int_types.rs:76
struct hugr::ops::constant::ExtensionConst, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:64
--- failure trait_missing: pub trait removed or renamed ---
Description:
A publicly-visible trait cannot be imported by its prior path. A `pub use` may have been removed, or the trait itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.31.0/src/lints/trait_missing.ron
Failed in:
trait hugr::ops::OpName, previously in file /tmp/.tmppKREXC/hugr/src/ops.rs:307
--- failure trait_removed_supertrait: supertrait removed or renamed ---
Description:
A supertrait was removed from a trait. Users of the trait can no longer assume it can also be used like its supertrait.
ref: https://doc.rust-lang.org/reference/items/traits.html#supertraits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.31.0/src/lints/trait_removed_supertrait.ron
Failed in:
supertrait hugr::ops::OpName of trait MakeExtensionOp in file /tmp/.tmpleGpag/hugr/hugr/src/extension/simple_op.rs:87
supertrait hugr::ops::OpName of trait MakeOpDef in file /tmp/.tmpleGpag/hugr/hugr/src/extension/simple_op.rs:45
```
Changelog
## 0.4.0 (2024-05-13)
### Bug Fixes
- Serialization round-trips
([#948](https://github.com/CQCL/hugr/pull/948))
- [**breaking**] Combine `ConstIntU` and `ConstIntS`
([#974](https://github.com/CQCL/hugr/pull/974))
- Disable serialisation tests when miri is active
([#977](https://github.com/CQCL/hugr/pull/977))
- [**breaking**] Serialisation schema
([#968](https://github.com/CQCL/hugr/pull/968))
- Correct constant fold for `fne`.
([#995](https://github.com/CQCL/hugr/pull/995))
- [**breaking**] Serialisation fixes
([#997](https://github.com/CQCL/hugr/pull/997))
- [**breaking**] OpDef serialisation
([#1013](https://github.com/CQCL/hugr/pull/1013))
- NaryLogicOp constant folding
([#1026](https://github.com/CQCL/hugr/pull/1026))
### Features
- 'Replace' rewrite returns node map
([#929](https://github.com/CQCL/hugr/pull/929))
- `new` methods for leaf ops
([#940](https://github.com/CQCL/hugr/pull/940))
- Add `string` type and `print` function to `prelude`
([#942](https://github.com/CQCL/hugr/pull/942))
- `CustomOp::extension` utility function
([#951](https://github.com/CQCL/hugr/pull/951))
- [**breaking**] Add `non_exhaustive` to various enums
([#952](https://github.com/CQCL/hugr/pull/952))
- Encoder metadata in serialized hugr
([#955](https://github.com/CQCL/hugr/pull/955))
- [**breaking**] Bring back Value
([#967](https://github.com/CQCL/hugr/pull/967))
- Add LoadFunction node ([#947](https://github.com/CQCL/hugr/pull/947))
- Add From impls for TypeArg
([#1002](https://github.com/CQCL/hugr/pull/1002))
- Constant-folding of integer and logic operations
([#1009](https://github.com/CQCL/hugr/pull/1009))
- [**breaking**] Update serialisation schema, implement `CustomConst`
serialisation ([#1005](https://github.com/CQCL/hugr/pull/1005))
- Merge basic blocks algorithm
([#956](https://github.com/CQCL/hugr/pull/956))
- [**breaking**] Allow panic operation to have any input and output
wires ([#1024](https://github.com/CQCL/hugr/pull/1024))
### Refactor
- Outline hugr::serialize::test
([#976](https://github.com/CQCL/hugr/pull/976))
- [**breaking**] Replace SmolStr identifiers with wrapper types.
([#959](https://github.com/CQCL/hugr/pull/959))
- Separate extension validation from the rest
([#1011](https://github.com/CQCL/hugr/pull/1011))
- Remove "trait TypeParametrised"
([#1019](https://github.com/CQCL/hugr/pull/1019))
### Testing
- Add a test of instantiating an extension set
([#939](https://github.com/CQCL/hugr/pull/939))
- Ignore serialisation tests when using miri
([#975](https://github.com/CQCL/hugr/pull/975))
- [**breaking**] Test roundtrip serialisation against strict + lax
schema ([#982](https://github.com/CQCL/hugr/pull/982))
- Fix some bad assert_matches
([#1006](https://github.com/CQCL/hugr/pull/1006))
- Expand test of instantiating extension sets
([#1003](https://github.com/CQCL/hugr/pull/1003))
- Fix unconnected ports in extension test
([#1010](https://github.com/CQCL/hugr/pull/1010))